STRUCTUR DATA, Rabu 20-10-10

#include <cstdlib>
#include <iostream>
#define maks7

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 hapus_elemen();
private:
   char A[7];
};

Array1D::Array1D(){
   for(int i=0;i<7;i++)
     A[i]='O';
}

void Array1D::cetak()
{
   for(int i=0;i<7;i++)
     cout<<A[i]<<" ";
}

ostream& operator<<(ostream& out, const Array1D& x)
{
   for(int i=0;i<7;i++)
     out<<x.A[i]<<"  ";
   out<<endl;
   return out;
}

istream& operator>>(istream& in, Array1D& x){

   for(int i=0;i<7;i++){
     cout<< "Nilai Array ke_"<<i+1<<"= ";
     in>>x.A[i];
}

return in;
}

void Array1D::geser_kanan(){
   int n=7;
   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=7;
    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 posisi;
   cout<<"\nPilih indeks ke berapa yang akan di hapus  : ";
   cin>>posisi;
   if(posisi>0 && posisi<=7)
   A[posisi-1]='-';
   else cout<<" Indeks hanya terdiri dari 1 – 7\n";
}

int main(int argc, char *argv[])
{
   Array1D x;
   cout<<" Array masih kosong      : "<<x;
   cin>>x;
   cout<<" \n Isi Array saat ini adalah                    : "<<x;
   x.geser_kiri();
   cout<<" \n Isi Array setelah di geser ke kiri adalah    : "<<x;
   x.geser_kanan();
   cout<<" \n Isi Array setelah di geser ke kanan adalah   : "<<x;
   cout<<" \n Urutan elemen pada indeksnya saat ini adalah : "<<x;
   x.hapus_elemen();
   cout<<"\nSetelah salah satu indeks dihapus menjadi      : "<<x;
   cout<<"\n";

     system("PAUSE");
     return EXIT_SUCCESS;
}

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar: