twitter

Pada tulisan sebelumnya sudah saya jelaskan apa itu Array 1 dimensi dan 2 dimensi. Kali ini saya akan menjelaskan bagaimana cara membuat Array 2 Dimensi dari Array 1 Dimensi. pembuatan Array 2 dimensi ini hanya bisa di lakukan bila anda benar-benar memahami apa itu Array 1 Dimensi dan Array 2 Dimensi. Dengan begitu anda akan bisa memainkan indeks-indeks dari masing-masing Array tersebut.
Untuk lebih memahaminya maka kita langsung saja ke fungsi konversinya :

k=0; // merupakan parameter untuk indeks array 1 dimensi.

           for(int i=0; i<n; i++){ // i untuk indeks baris array 1 dimensi.
                   for(int j=0; j<m; j++){ // j untuk indeks kolom array 2 dimensi
                           y[i][j]=x[k]; // pemberian nilai array 2 dimensi.
                           k=k+1; // penambahan nilai k di saat proses penambahan nilai selesai
                           }
                           cout<<endl; // pergantian baris setiap perulangan j keluar dari syarat
                           }
                           }

Berikut source code proogram secara keseluruhan :


#include <cstdlib>
#include <iostream>

using namespace std;
class convert{
      friend istream& operator>>(istream&, convert&);
      friend ostream& operator<<(ostream&, convert&);
             public:
                    convert();
                    void pindah();
             private:
                     int x[100],y[100][100];
                     int l,k,m,n;
                     };
      convert::convert(){
                         cout<<"\tProgram Memindah Array 1 Dimensi Ke 2 Dimensi"<<endl;
                         }
      istream& operator>>(istream& in, convert& a){
               cout<<"Masukkan Banyak Digit Array 1 Dimensi :"; in>>a.l;
               for(int i=0; i<a.l; i++){
                       cout<<"Imput Data ke ["<<i+1<<"]:";
                       in>>a.x[i];
                       }
               cout<<"Masukkan Baris Array 2 Dimensi :"; in>>a.n;
               cout<<"Masukkan Kolom Array 2 Dimensi :"; in>>a.m;
               return in;}
      ostream& operator<<(ostream& out, convert& b){
               out<<"Data Array 1 Dimensi :"<<endl;
               for(int i=0; i<b.l; i++){
                       out<<b.x[i]<<" ";
                       }
               out<<"Data Array Setelah di Pindah :"<<endl;
               for(int i=0; i<b.n; i++){
                   for(int j=0; j<b.m; j++){
                           out<<b.y[i][j]<<" ";
                           }
                           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];
                           k=k+1;
                           }
                           cout<<endl;
                           }
                           }
   
int main(int argc, char *argv[])
{
    convert g;
    cin>>g;
    g.pindah();
    cout<<g;
    system("PAUSE");
    return EXIT_SUCCESS;
}


Hasil Running program :



Kamis, 07 Juli 2011 | 0 komentar | Label: