Minggu, 31 Oktober 2010

Praktikum ke 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();
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;

cout<<"Mengisi array pada posisi ke: ";

in>>posisi;

if(posisi>0&&posisi<=maks){

cout<<"Masukkan elemen array nya: ";

in>>x.a[posisi-1];

}

else

cout<<"Anda memasukkan posisi di luar range...\n";

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(){

int pil;

cout<<"Elemen yang akan di hapus: ";

cin>>pil;

int n=maks;

for(int i=pil-1;i<n;i++){

a[i]=a[i+1];

}

a[n-1]='0';

}


int main(int argc, char *argv[])

{

array1d x;

cout<<"Array masih kosong: "<<x;

cin>>x;

cout<<"Isi Array saat ini: "<<x;

x.geser_kiri();

cout<<"Isi Array setelah digeser kiri: "<<x;

x.geser_kanan();

cout<<"Isi Array setelah digeser kanan: "<<x;

x.hapus();

cout<<"Isi Array setelah dihapus: "<<x;

system("PAUSE");

return EXIT_SUCCESS;

}




0 komentar:

Posting Komentar