Sabtu, 01 Januari 2011

prak 6

#include <cstdlib>
#include <iostream>
#define maks 5
using namespace std;

class ArrayID{
friend ostream& operator<<(ostream&, const ArrayID&);
friend istream& operator>>(istream&, ArrayID&);
public:
ArrayID();
void cetak();
void geser_kiri();
void geser_kanan();
void hapus_elemen();
private:
char A[maks];
};

ArrayID::ArrayID(){
for(int i=0; i<maks; i++)
A[i]='0';
}
void ArrayID::cetak(){
for(int i=0; i<maks; i++)
cout << A[i] << " ";
}
ostream& operator<<(ostream& out, const ArrayID& x){
for(int i=0; i<maks; i++)
out << x.A[i] << " ";
out << endl;
return out;
}
istream& operator>>(istream& in, ArrayID& x){
int posisi;
for(int posisi=1; posisi<=maks; posisi++){
cout << "Mengisi array pada posisi ke : ";
in >> posisi;
if(posisi>0 && posisi<=maks){
cout << "Masukan element arraynya : ";
cin >> x.A[posisi-1];
}
else
cout << "Anda memasukan posisi di luar range...";
}
return in;
}
void ArrayID::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 ArrayID::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 ArrayID::hapus_elemen(){
int posisi;
cout << "Pilih posisi array : ";
cin >> posisi;
if(posisi>0 && posisi<=5)
A[posisi-1]='0';
else cout << "Diluar jangkauan...";
}
int main(int argc, char *argv[])
{
ArrayID x;
cout << "Array masih kosong : " << x;
cin >> x;
cout << "Isi array saat ini : " << x;
x.geser_kiri();
cout << "Isi Array setelah geser ke kiri : " << x;
x.geser_kanan();
cout << "Isi Array setelah geser ke kanan : " << x;
cout << "Menghapus Elemen Array\n";
x.hapus_elemen();
cout << "Isi array setelah di hapus : " << x;
system("PAUSE");
return EXIT_SUCCESS;
}

Tidak ada komentar:

Posting Komentar

Entri Populer