Wednesday, 20 October 2010

ARRAY STATIS

prak 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 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){
         for(int i=0;i<5;i++){
                 cout<<"masukan nilai elemen posisi ke-"<<i+1<<":";
                 in>>x.A[i];
                 }
                 return in;
                 }
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=maks;
     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<<"pilih indek berapa yang akan di hapus:";
     cin>>posisi;
     if(posisi>0 && posisi<=5)
     A[posisi-1]='0';
     else cout<<"nilai di luar range dari 1-5/n";
     }
main(){
       Array1D x;
       cout<<"Array masih kosong:"<< x;
       cin>>x;
       cout<<"isi Array saat ini:"<<x;
       x.geser_kiri();
       cout<<"isi Array setelah digeser ke kiri:"<<x;
       x.geser_kanan();
       cout<<"isi Array setelah digeser ke kanan:"<<x;
       x.hapus_elemen();
       cout<<"setelah dihapus:"<<x;    
                     
                                    
    system("PAUSE");
    return EXIT_SUCCESS;
}

No comments:

Post a Comment