Mengkonversi Array 1 Dimensi ke 2 Dimensi

Mengkonversi array 1 dimensi 2 dimensi ini adalah menggunakan code-code yang sangat sederhana. Ini sama halnya menjumlahkan atau operasi dalam matematika. Misalkan a adalah c+b maka operasinya adalah a=c+b. Begitu juga dengan konversi ini pemberian nilai  menggunakan operasi yang sangat sederhana juga.  Misalkan A adalah array 1 dimensi sedangkan B adalah array 2 dimensi maka B[][] = A[].

Untuk Lebih jelasnya berikut code selengkapnya :

#include <cstdlib>
#include <iostream>

using namespace std;
class convert{
      friend istream& operator>>(istream&, convert&); //fungsi input
      friend ostream& operator<<(ostream&, convert&); // fungsi output
             public:
                    convert(); //fungsi convert
                    void pindah(); //funggsi pindah
             private:
                     int x[100],y[100][100]; //array bertipe integer
                     int l,k,m,n; // variabel integer
                     };
      convert::convert(){ // deskripsi fungsi convert
      cout<<"\tProgram Memindah Array 1 Dimensi Ke 2 Dimensi"<<endl;
                         }
      istream& operator>>(istream& in, convert& a){ // deskripsi fungsi input
      cout<<"Masukkan Banyak Digit Array 1 Dimensi :"; in>>a.l; //memasukkan nilai l
      for(int i=0; i<a.l; i++){ // perulangan dan i sebagai nilai indeks array 1 dimensi
                      cout<<"Imput Data ke ["<<i+1<<"]:";
                       in>>a.x[i]; // input data i
                       }
      cout<<"Masukkan Baris Array 2 Dimensi :"; in>>a.n; //pemberian nilai n.
      cout<<"Masukkan Kolom Array 2 Dimensi :"; in>>a.m; // pemberian nilai m
               return in;}
      ostream& operator<<(ostream& out, convert& b){ // deskripsi fungsi output
               out<<"Data Array 1 Dimensi :"<<endl;
      for(int i=0; i<b.l; i++){ //perulangan dengan i sebagai indeks array 1 dimensi
                       out<<b.x[i]<<" "; // menampilkan nilai array 1 dimensi
                       }
               out<<endl;
               out<<"Data Array Setelah di Pindah :"<<endl;
      for(int i=0; i<b.n; i++){ //perulangan dengan i sebagi indeks baris
      for(int j=0; j<b.m; j++){ // perulangan dengan j sebagai indeks kolom
                           out<<b.y[i][j]<<"\t"; // menampilkan nilai array 2 dimensi
                           }
                           out<<endl;
                           }
                   out<<endl;
                           return out;}
      void convert::pindah(){
           k=0;
           for(int i=0; i<n; i++){
                   for(int j=0; j<m; j++){
                           y[i][j]=x[k]; // pemberian nilai array 2 dimensi
                           k=k+1; // pemebrian nilai k
                           }
                           cout<<endl;
                           }
                           }

int main(int argc, char *argv[])
{
    convert g;
    cin>>g;
    g.pindah();
    cout<<g;
    system("PAUSE");
    return EXIT_SUCCESS;
}

Hasil running :

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: