Jumat, 06 Juli 2012

program pointer

#include <cstdlib>
#include <iostream>

using namespace std;
class node{
      public  :
              int data;
              node *berikut;
      };

int main(int argc, char *argv[])
{
    node *baru;
    baru = new node;
    baru -> data = 5;
    baru -> berikut = NULL;
    cout<<"Isi data node baru adalah  : " << baru -> data <<endl;
   
    node *lain;
    lain = new node;
    lain -> data = 6;
    lain -> berikut = NULL;
    cout<<"Isi data node lain adalah : " <<lain -> data<<endl;
   
    node *lain1;
    lain1 = new node;
    lain1 -> data = 7;
    lain1 -> berikut = NULL;
    cout<<"Isi data node lain adalah : " <<lain1 -> data<<endl;
   
    baru -> berikut = lain;
    cout<<"Isi data node lain dicetak dari node baru adalah : ";
    cout<< baru -> berikut -> data <<endl;
   
    lain -> berikut = lain1;
    cout<<"Isi data node lain1 dicetak dari node baru adalah : ";
    cout<< lain -> berikut -> data <<endl;
   
    node *kepala = baru;
    cout<<"Mencetak node pertama dari pointer kepala :";
    cout<<kepala -> data <<endl;
    cout<<"Mencetak node kedua dari pointer kepala : ";
    cout<<kepala -> berikut -> data <<endl;
    cout<<"Mencetak node ketiga dari pointer kepala : ";
    cout<<lain -> berikut -> data <<endl;
   
    cout<<"Menggunakan perulangan untuk mencetak setiap data pada rantai " <<endl;
    node *jalan = kepala;
    int i=1;
    while(jalan != NULL){
                cout<<"Data ke-" <<i <<" > " <<jalan -> data <<endl;
                i++;
                jalan = jalan -> berikut;
                }
   
    cout<<"Mencetak node pertama dari pointer kepala : ";
    cout<<kepala -> data <<endl;
    cout<<"Mencetak node kedua dari pointer kepala : ";
    cout<<kepala -> berikut -> data <<endl;
    cout<<"Mencetak node ketiga dari pointer kepala : ";
    cout<<lain -> berikut -> data <<endl;
   
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

program perkalian matriks 2 dimensi

#include <iostream>
#include <string>

using namespace std;
int main()
{
   string raptor_prompt_variable_zzyz;
   int k;
   int baris;
   int i;
   int j;
   int kolom;
   int matriks2[100][100];
   int kali[100][100];
   int matriks[100][100];

   raptor_prompt_variable_zzyz ="Masukkan Baris :";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> baris;
   raptor_prompt_variable_zzyz ="masukkan Kolom : ";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> kolom;
   i =1;
   while (!(i>baris))
   {
      j =1;
      while (!(j>kolom))
      {
         raptor_prompt_variable_zzyz ="Isi matriks";
         cout << raptor_prompt_variable_zzyz << endl;
         cin >> matriks[i][j];
         j =j+1;
      }
      i =i+1;
   }
   i =1;
   while (!(i>baris))
   {
      j =1;
      while (!(j>kolom))
      {
         raptor_prompt_variable_zzyz ="Isi Matriks";
         cout << raptor_prompt_variable_zzyz << endl;
         cin >> matriks2[i][j];
         j =j+1;
      }
      i =i+1;
   }
   i =1;
   while (!(i>baris))
   {
      j =1;
      while (!(j>kolom))
      {
         if (baris==kolom)
         {
            kali[i][j] = 0;
            k =1;
            while (!(k>baris))
            {
               kali[i][j] = kali[i][j]+matriks[i][k]*matriks2[k][j];
               k =k+1;
            }
         }
         else
         {
            cout << "tidak bisa di kalikan" << endl;         }
         j =j+1;
      }
      i =i+1;
   }
   i =1;
   while (!(i>baris))
   {
      j =1;
      while (!(j>kolom))
      {
         cout << "Output Matriks 1 : "<<matriks[i][j] << endl;         j =j+1;
      }
      i =i+1;
   }
   i =1;
   while (!(i>baris))
   {
      j =1;
      while (!(j>kolom))
      {
         cout << "Output Matriks 2 : "<<matriks2[i][j] << endl;         j =j+1;
      }
      i =i+1;
   }
   i =1;
   while (!(i>baris))
   {
      j =1;
      while (!(j>kolom))
      {
         cout << "Perkalian Matriks : "<<kali[i][j] << endl;         j =j+1;
      }
      i =i+1;
   }
system("pause");
   return 0;
}

program mengurutkan selection sort

#include <iostream>
#include <string>

using namespace std;
int main()
{
   string raptor_prompt_variable_zzyz;
   int minim;
   int i;
   int n;
   int mini;
   int temp;
   int j;
   int k;
   int A[100];
   //int[] a = new int[int+1];

   raptor_prompt_variable_zzyz ="input batas";
   cout << raptor_prompt_variable_zzyz << endl;
   cin >> n;
   i =1;
   cout << "isi array = " << endl;   while (!(i>n))
   {
      cout<<"input data "<<i<<  " = ";
      cin >> A[i];
          i =i+1;
   }
   i=1;
   cout <<"datanya data = ";
   while (!(i>n))
   {
      cout << A[i]<<" " ;    i =i+1;
   }
   j =1;
   cout<<endl;
   while (!(j>n))
   {
      minim =j;
      mini =A[j];
      k =j+1;
      while (!(k>n))
      {
         if (mini>A[k])
         {
            minim =k;
            mini =A[k];
         }
         else
         {
         }
         k =k+1;
      }
      temp =A[j];
      A[j] = A[minim];
      A[minim] = temp;
      j =j+1;
   }
   i =1;
   cout << "setelah diurutkan = ";   while (!(i>n))
   {
      cout << A[i] <<" ";      i =i+1;
   }
   cout<<endl;
system("pause");

   return 0;
}

program gabungan kombinasi dan permutasi

#include <iostream.h>
#include <conio.h>
#include <stdio.h>


class faktorial{
      friend istream& operator>>(istream&, faktorial&);
      public:
             int fak(int);
             int permutasi(int,int);
             int kombinasi(int,int);
             void output();            
      private:
              int n,k;
      };
istream& operator>>(istream&in, faktorial& input){
         cout<<"masukan batas n : ";
         in>>input.n;
         cout<<"masukan batas k : ";
         in>>input.k;
         return in;
         }
        
int faktorial::fak(int n){
      if((n==0)||(n==1)) return (1);
      else return (n*fak(n-1));
      }
     
int faktorial::permutasi(int n, int k){
    if(n<k)return 0;
    else return (fak(n)/fak(n-k));
    }

int faktorial::kombinasi(int n, int k){
    if(n<k)return 0;
    else return (fak(n)/(fak(k)*fak(n-k)));
    }


void faktorial::output(){
     cout<<"maka nilai dari siklus permutasi = ";
     cout<<permutasi(n,k)<<endl;
     cout<<"maka nilai dari siklus kombinasi = ";
     cout<<kombinasi(n,k)<<endl;
     }

int main(){
   faktorial x;
   cin>>x;
   x.output();

   getch();
}

program menggeser kiri

#include <cstdlib>
#include <iostream>
#define maks10


using namespace std;


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


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


/*array::array(){
 cin>>z;
}


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

istream& operator>>(istream& in, array& masuk){
 int posisi,z;
 for (int posisi=1; posisi<=5; posisi++){
 cout<<"masukkan nilai array posisi ke-"<<posisi<<"= ";
 if(posisi >= 0 && posisi <= 5){
 in>>masuk.a[posisi-1];
 }
 }
 return in;
}

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



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




int main(){
 array X;
 cin>>X;
 cout<<"Isi Array saat ini : "<<X;
 X.geser_kiri();
 cout<<"Isi Array setelah di geser kiri : "<<X;


 system("PAUSE");
 return EXIT_SUCCESS;
}

program membalik kata secara rekursif

#include <iostream.h>
#include<conio.h>

class katabalik{
      friend istream& operator>>(istream&, katabalik&);
      public:
             void output();
      private:
              char kata;
              int pjgstring;
      };
istream& operator>>(istream&in, katabalik& input){
         cout<<"Masukan angka yang akan dipangkatkan : ";
         in>>input.kata;
         return in;
      
         }

void katabalik::output(){
    pjgstring=strlen(kata);
    return output(kata);
    //for(int i=pjgstring;i>=0;i--){
    //        cout<<kata[i];
    //        }
     }

int main(){
   katabalik x;
   cin>>x;
   cout<<endl<<"Setelah Dibalik : "<<endl;
   x.output();

   getch();
}

program membalik kata iteratif



#include <iostream.h>
#include<conio.h>

class katabalik{
      friend istream& operator>>(istream&, katabalik&);
      public:
             void output();
      private:
              char kata[50];
              int pjgstring;
      };
istream& operator>>(istream&in, katabalik& input){
         cout<<"Masukan angka yang akan dipangkatkan : ";
         in>>input.kata;
         return in;
         }

void katabalik::output(){
    pjgstring=strlen(kata);
    cout<<endl<<"Setelah Dibalik : ";    
    for(int i=pjgstring;i>=0;i--){
            cout<<kata[i];
            }
     }

int main(){
    system("title oooooooooo");
   katabalik x;
   cin>>x;
   x.output();

   getch();
}