praktikum 4
#include <cstdlib> #include <iostream> #define maks10 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(); void urut(); private: char A[10]; }; //konstrukstor Array1D::Array1D(){ for(int i=0;i<10;i++) A[i]='O'; } //methods yang sebetulnya tidak perlu ditulis void Array1D::cetak(){ for(int i=0;i<10;i++) cout<<A[i]<<" "; } //overloading fungsi cetak ostream& operator<<(ostream& out, const Array1D& x){ for(int i=0;i<10;i++) out<<x.A[i]<<" "; out<<endl; return out; } //overloading input istream& operator>>(istream& in, Array1D& x){ //modifikasi untuk operator overloading //memasukkan nilai pada masing2 indeks secara terurut for(int i=0;i<10;i++){ cout<<"masukkan nilai array ke-"<<i+1<<" : "; in>>x.A[i]; } /* badan fungsi sebelum di modifikasi int posisi; cout<<"Mengisi array posisi ke : "; in>>posisi; if(posisi>0 && posisi<=5){ cout<<"Masukkan elemen array-nya ; "; in>>x.A[posisi-1]; } else cout<<"Anda memasukkan posisi di luar range....!";*/ return in; } //fungsi untuk menggeser semua nilai 1 indeks ke kanan void Array1D::geser_kanan(){ int n=10; int temp=A[n-1]; for(int i=n-1;i>=0;i--) A[i+1]=A[i]; A[0]=temp; } //fungsi untuk menggeser semua nilai 1 indeks ke kiri void Array1D::geser_kiri(){ int n=10; int temp=A[0]; for(int i=0;i<n;i++) A[i]=A[i+1]; A[n-1]=temp; } //menthods yang di tambahkan untuk menghapus nilai dari indeks tertentu void Array1D::hapus_elemen(){ int posisi; cout<<"\npilih indeks berapa yang akan di hapus :\n"; cin>>posisi; if(posisi>0 && posisi<=10) A[posisi-1]='O'; else cout<<"indeks hanya terdiri dari 1 - 10\n"; } //main fingsi int main(int argc, char *argv[]) { cout <<"\nKhairuddin (09018155)\n"<<endl; Array1D x; cout<<"Array masih kosong : "<<x; //pemanggilan overloading output cin>>x; //penggunaan overloading input cout<<"Isi Array saat ini : "<<x; x.geser_kiri(); //penggunaan fingsi cout<<"Isi Array setelah di geser kiri : "<<x; x.geser_kanan(); cout<<"Isi Array setelah di geser kanan : "<<x; cout<<"Urutan elemen pada indeksnya saat ini : "<<x; x.hapus_elemen(); cout<<"Setelah dihapus menjadi : "<<x; system("PAUSE"); return EXIT_SUCCESS; }
output :
semoga bermanfaat…………………!!!!!