Program C++ Menggeser ke Kanan elemen array

Algoritma
   Fungsi (menggeser elemen array)
     {menginput data, proses data, cetak hasil}
   Deklarasi
     a[5] : char
     i, temp : integer
     n=5 : integer
   Deklarasi
     {
       int n=5;
        int temp=a[n-1];
        for(int i=n-1;i>=0;i--)
        a[i+1]=a[i];
        a[0]=temp;
         }
     
C++
#include <cstdlib>
#include <iostream>


using namespace std;

class array{
 friend ostream& operator<<(ostream&, const array&);
 friend istream& operator>>(istream&, array&);
public:
 array();
 void cetak();
 void geser_kanan();

private:
 char a[5];
 int posisi;
};

array::array(){
 for(int i=0;i<5;i++)
 a[i]='0';
}

void array::cetak(){
 for(int i=0;i<5;i++)
 cout<<a[i]<<" ";
}

ostream& operator<<(ostream& out, const array& keluar){
 for(int i=0;i<5;i++)
 out<<keluar.a[i]<<" ";
 out<<endl;
 return out;
}

istream& operator>>(istream& in, array& masuk){
 int posisi;
 for (int posisi=1; posisi<=5; posisi++){
 cout<<"Nilai Array Posisi Ke-"<<posisi<<"= ";
 //in>>masuk.posisi;
 if(posisi >= 0 && posisi <= 5){

 in>>masuk.a[posisi-1];
 }
 }
 return in;
}

void array::geser_kanan(){
 int n=5;
 int temp=a[n-1];
 for(int i=n-1;i>=0;i--)
 a[i+1]=a[i];
 a[0]=temp;
}


int main(int argc, char *argv[])
{
 array a;
 cout<<"Program Array Geser Kanan"<<endl<<endl;
 cout<<"Array Masih Kosong : "<<a;
 cin>>a;
 cout<<"Array Saat Ini : "<<a;
 a.geser_kanan();
 cout<<"Array Setelah Digeser Kanan : "<<a<<endl;
 cout<<endl;
 system("PAUSE");
 return EXIT_SUCCESS;
}

Share on Google Plus

About Luthfi

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 komentar:

Posting Komentar