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;} |








No comments:
Post a Comment