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,cur 2 ,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; cur 2 =j; for(int k= 0 ;k<z;k++) for(int l= 0 ;l<z;l++) { if(a[cur][cur 2 ]<a[k][l]) { cur=k; cur 2 =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; } |
No comments:
Post a Comment