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