Contoh Pemrograman C++ || Mengkonversi Array 1D Menjadi 2D

Bagaimana sih 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++ :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#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 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#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;
}
Share:
spacer

No comments:

Post a Comment