Program ini sebenarnya hanya mengcopy data array 2 dimensi ke satu dimensi. Pengcopyanya berdasarkan indek array, jadi kita menjalankan array 2 dimensi sambil kita copy array tesebut.
Bila kita punya array seperti ini:
a | b | c | 0 |
d | e | f | 1 |
0 | 1 | 2 |
a | b | c | d | e | f |
0 | 1 | 2 | 3 | 4 | 5 |
Jadi kita melakukan pengcopy’n dengan cara pemanggilan seperti ini
Seumpama variable kita a, maka pemanggilan b[0]=a[0][0],b[1]=a[0][1] dan seterusnya. Setelah itu kita tinggal coutkan saja variable b dengan perulangan.
Dan ini source codenya secara lengkap:
#include <cstdlib>
#include <iostream>
using namespace std;
class array{
private:
char data[20][20],e[200];
int a,b,c;
public:
void inputan();
void proses();
void keluar();
};
void array::inputan(){
cout<<"masukan baris :";
cin>>a;
cout<<"masukan kolom : " ;
cin>>b;
for(int i=0;i<a;i++){
for(int j=0;j<b;j++){
cout<<"masukan data array ke-["<<i<<"],["<<j<<"] : ";
cin>>data[i][j];}}
}
void array::proses(){
int k=0;
for(int i=0;i<a;i++){
for(int j=0;j<b;j++){
e[k]=data[i][j];k=k+1;
}
}
}
void array::keluar(){
cout<<"data awal yang dimasukan :"<<endl;
for(int i=0;i<a;i++){cout<<"[";
for(int j=0;j<b;j++){
cout<<data[i][j];}cout<<"]"<<endl;}
cout<<"data yang sudah dipindah : "<<endl<<"[";
for(int i=0;i<(a*b);i++){
cout<<e[i];
}cout<<"]";cout<<endl;
}
int main(int argc, char *argv[])
{
array x;
x.inputan();
x.proses();
x.keluar();
system("PAUSE");
return EXIT_SUCCESS;
}Jika dalam program ini masih ada yang kurang paham silahkan komentar atau bertanya melalui chat box yang saya sediakan terimaksih
Tidak ada komentar:
Posting Komentar