Rabu, 20 Oktober 2010

Praktikum Struktur Data 4

#include <cstdlib>
#include <iostream>
#define maks 5

using namespace std;
class Array1D{
      friend ostream& operator<<(ostream&, const Array1D&);
      friend istream& operator>>(istream&, Array1D&);
public :
       Array1D();
       void cetak();
       void geser_kiri();
       void geser_kanan();
       void sort();
       void hapus_elemen();
private :
        char A[maks];
        };
Array1D::Array1D(){
                   for(int i=0;i<maks;i++)
                   A[i]= '0';
                   }
void Array1D::cetak(){
     for(int i=0;i<maks;i++)
     cout<<A[i]<<"";
     }
ostream& operator<<(ostream& out, const Array1D& x){
         for(int i=0;i<maks;i++)
         cout<<x.A[i]<<"";
         cout<<endl;
         return out;
     }
istream& operator>>(istream& in, Array1D& x){
         int posisi, i;
         cout<<"masukkan 5 elemen array :"<<endl;
         for(int i=0;i<maks;i++){
         cout<<"elemenke ["<<i+1<<"] :";
         in>>x.A[i];
      
         }
         return in;
         }
void Array1D::sort(){
     int a, b, t;
     for(a=1; a < maks; a++)
    for(b=maks-1; b >= a; b--)
      if(A[b-1] > A[b]) {
        t = A[b-1];
        A[b-1] = A[b];
        A[b] = t;
}
}

void Array1D::geser_kanan(){
     int n=maks;
     int temp=A[n-1];
     for(int i=n-1;i>=0;i--)
     A[i+1]=A[i];
     A[0]=temp;
     }
void Array1D::geser_kiri(){
     int n;
     int temp=A[0];
     for(int i=0;i<n;i++)
     A[i]=A[i+1];
     A[n-1]=temp;
     }
void Array1D::hapus_elemen(){
    int z;
    cout<<"hapus indek ke : ";
    cin>>z;
    if(z>0 && z<=5)
        A[z-1]='O';
      
    else cout<<"diluar range\n";
}
  
int main(int argc, char *argv[])
{
    Array1D x;
    cout<<"Array masih kosong :"<<x;
    cin>>x;
    cout<<"Isikan Array saat ini :"<<x;
    x.geser_kiri();
    cout<<"Isikan Array setelah digeser ke kiri :"<<x;
    x.geser_kanan();
    cout<<"Isi Array setelah digeser ke kanan :"<<x;
    x.sort();
    cout<<"Isi Array setelah diurutkan :"<<x;
    x.hapus_elemen();
    cout<<"Array setelah dihapus : "<<x;
    system("PAUSE");
    return EXIT_SUCCESS;
}

Tidak ada komentar:

Posting Komentar