Program ini sebenarnya hamper sama dengan program sebelemnya, yaitu dua dimensi ke satu dimensi.
a | b | c | d | e | f |
0 | 1 | 2 | 3 | 4 | 5 |
kita ubah menjadi :
a | b | c | 0 |
d | e | f | 1 |
0 | 1 | 2 |
cara ini hamper sama juga dengan yang tadi tetapi kita tidak boleh terbalik dalam pengcopyan, jika kita terbalik maka hasil akan salah,
seumpamanya yang benar seperti ini:
a[0][0]=b[0] àbenar
b[0]=a[0][0]àsalah
jadi kita tidak boleh terbalik menggunakannya, yang dicopy berada di belakang
ini source codenya :
#include <cstdlib>
#include <iostream>
using namespace std;
class array1{
private:
char a[100],b[50][50];
int n;
public:
void inputan();
void proses();
};
void array1::inputan(){
cout<<"masukan banyak array 1 dimensi : ";
cin>>n;
for(int i=0;i<n;i++){
cout<<"data ke -"<<i<<" : ";
cin>>a[i];}
cout<<"data awal : "<<endl<<"[";
for(int i=0;i<n;i++){
cout<<a[i];}cout<<"]"<<endl<<endl;
}
void array1::proses(){
if(n%2==0){int l=0;
for(int j=0;j<2;j++){;
for(int k=0;k<n/2;k++){
b[j][k]=a[l];l=l+1;}}
for(int j=0;j<2;j++){cout<<"[";
for(int k=0;k<n/2;k++){
cout<<b[j][k];}cout<<"]"<<endl;}}
else{int l=0;
for(int j=0;j<3;j++){
for(int k=0;k<(n/3)+1;k++){
b[j][k]=a[l];l=l+1;}}
for(int j=0;j<3;j++){cout<<"[";
for(int k=0;k<(n/3)+1;k++){
cout<<b[j][k];}cout<<"]"<<endl;}}
};
int main(int argc, char *argv[])
{
array1 c;
c.inputan();
c.proses();
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