Rabu, 06 Juli 2011

Program konversi array satu dimensi ke 2 dimensi C++


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

bisa juga di download file cpp
array 1 to 2.cpp download

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