Konversi Array 1 Dimensi menjadi Array 2 Dimensi

Bagaimana sich cara merubah array 1 dimensi menjadi 2 dimensi? Misal ada suatu elemen array 1 dimensi seperti di bawah ini :

Akan di rubah menjadi seperti dibaawah ini :

Untuk menghasilkan ilustrasi seperti gambar diatas dimana array 1dimensi masuk kedalam array 2 dimensi, berikut ilustrasi gambar prosesnya:

Algoritma :

Deklarasi:
i : int { index baris }
j : int { index kolom }
Deskripsi:
For i <– 0 to 9 do
Write (A[i])
Int i=0
While (i For j <– 0 t0 3 do
For k <– 0 to 3 do
B[j][k]=A[i]
End for
End for
End while
For i <– 0 to 3 do
For j <– 0 to 3 do
Write (B[i][j])
End for
End for
end


Implementasi dalam Program C++ :


#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int A[12]={1, 2, 3, 4, 5, 6, 7, 8, 9};
    int B[10][10];
    cout << "Array 1 dimensi\n";
    for(int i=0; i<9; i++){
            cout <<" " << A[i];
            }
            cout << endl;
    cout << "Array 2 dimensi\n";
    int i=0;
    while(i<9){
            for(int j=0; j<3; j++){
                    for(int k=0;k<3; k++){
                            B[j][k]=A[i];
                            i++;
                            }
                    }
            }
    for(int i=0; i<3; i++){
            for(int j=0; j<3; j++){
                    cout << B[i][j] << " ";
                    }
                    cout << endl;
            }
    system("PAUSE");
    return EXIT_SUCCESS;
}


Jika menggunakan inputan lewat keybvoard maka programnya adalah sebagai berikut :


#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{

        int a[10][10];
          int cur,cur2,z,temp;

    cout<<"Masukan data: ";
    cin>>z;

    for(int i=0;i<z;i++)
    for(int j=0;j<z;j++)
    {
        cout<<"Data["<<i<<"]["<<j<<"]:";
        cin>>a[i][j];
    }
    for(int i=0;i<z;i++)
    for(int j=0;j<z;j++)
    {
        cur=i;
        cur2=j;
        for(int k=0;k<z;k++)
        for(int l=0;l<z;l++)
              {
                   if(a[cur][cur2]<a[k][l])
                   {
                        cur=k;
                        cur2=l;
                   }

              }
    }
    for(int i=0;i<z;i++)
    {
    for(int j=0;j<z;j++)
    {
       cout<<" "<<a[i][j];
    }
   cout<<endl;
    }

    system("PAUSE");
    return EXIT_SUCCESS;
}

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s