Rabu, 06 Juli 2011

faktorial menggunakan c++


Factorial ini sebenranya sudah ada dalam combinasi atau permutasi, karena factorial adalah rumus dasar dari kombinasi atau permutasi tersebut, tetapi ini membahas factorial saja. Dalam factorial dapat kita buat dengan beberapa cara, tetapi sepengetahuan saya baru dua cara ini, jika ada yang ingin menambahkan silahkan koment di  entri ini.
Ini souce code untuk membuat factorial dalam c++ :

#include <cstdlib>
#include <iostream>

using namespace std;
class faktorial{
      private:
              int a,b,c,d,e;
      public :
             void inputan();
             void proses ();
             void hasil();
             };
void faktorial::inputan(){
     cout<<"masukan N! : ";
     cin>>a;
}

void faktorial::proses(){
     c=1;
     for(b=2;b<a;b++){
                      c*=b;
                      }
     d=1;
     for (int i=1;i<a;i++){
         d=d*i;
         }
}

void faktorial::hasil(){
     cout<<"hasil faktorial dengan rumus 1 adalah : "<<c<<endl;
     cout<<"hasil faktorial dengan rumus 2 adalah : "<<d<<endl;
}
int main(int argc, char *argv[])
{
    faktorial a;
    a.inputan();
    a.proses();
    a.hasil();
    system("PAUSE");
    return EXIT_SUCCESS;
}

jika anda masih kurang paham anda dapat mengirimkan email atau dapat bertanya jika saya sedang online, melalui chat box yang sudah saya sediakan, terimakasih

Program konversi array satu dimensi ke 2 dimensi C++


Program ini sebenarnya hamper sama dengan program sebelemnya, yaitu dua dimensi ke satu dimensi.
 
a
b
c
d
e
f
0
1
2
3
4
5



 kita ubah menjadi :

a
b
c
0
d
e
f
1
0
1
2



cara ini hamper sama juga dengan yang tadi tetapi kita tidak boleh terbalik dalam pengcopyan, jika kita terbalik maka hasil akan salah,
seumpamanya yang benar seperti ini:
a[0][0]=b[0] àbenar
b[0]=a[0][0]àsalah
jadi kita tidak boleh terbalik menggunakannya, yang dicopy berada di belakang
ini source codenya :

#include <cstdlib>
#include <iostream>

using namespace std;
class array1{
      private:
              char a[100],b[50][50];
              int n;
      public:
             void inputan();
             void proses();
};

void array1::inputan(){
                 cout<<"masukan banyak array 1 dimensi : ";
                 cin>>n;
                 for(int i=0;i<n;i++){
                         cout<<"data ke -"<<i<<" : ";
                         cin>>a[i];}
                 cout<<"data awal : "<<endl<<"[";
                 for(int i=0;i<n;i++){
                         cout<<a[i];}cout<<"]"<<endl<<endl;
                         }
                        
void array1::proses(){
     if(n%2==0){int l=0;
     for(int j=0;j<2;j++){;
     for(int k=0;k<n/2;k++){
             b[j][k]=a[l];l=l+1;}}
    
     for(int j=0;j<2;j++){cout<<"[";
     for(int k=0;k<n/2;k++){
             cout<<b[j][k];}cout<<"]"<<endl;}}
            
            
     else{int l=0;
     for(int j=0;j<3;j++){
     for(int k=0;k<(n/3)+1;k++){
             b[j][k]=a[l];l=l+1;}}
            
     for(int j=0;j<3;j++){cout<<"[";
     for(int k=0;k<(n/3)+1;k++){
             cout<<b[j][k];}cout<<"]"<<endl;}}
            
            
           
};

int main(int argc, char *argv[])
{
    array1 c;
    c.inputan();
    c.proses();

    system("PAUSE");
    return EXIT_SUCCESS;
}

bisa juga di download file cpp
array 1 to 2.cpp download

Jika dalam program ini masih ada yang kurang paham silahkan komentar atau bertanya melalui chat box yang saya sediakan terimaksih

Program konversi array 2 dimensi ke 1 dimensi C++

Program ini sebenarnya hanya mengcopy data array 2 dimensi ke satu dimensi. Pengcopyanya berdasarkan indek array, jadi kita menjalankan array 2 dimensi sambil kita copy array tesebut.
Bila kita punya array seperti ini:
a
b
c
0
d
e
f
1
0
1
2




a
b
c
d
e
f
0
1
2
3
4
5



Jadi kita melakukan pengcopy’n dengan cara pemanggilan seperti ini
Seumpama variable kita a, maka pemanggilan b[0]=a[0][0],b[1]=a[0][1] dan seterusnya. Setelah itu kita tinggal coutkan saja variable b dengan perulangan.
Dan ini source codenya secara lengkap:
#include <cstdlib>
#include <iostream>

using namespace std;
class array{
      private:
              char data[20][20],e[200];
              int a,b,c;
      public:
             void inputan();
             void proses();
             void keluar();
};

void array::inputan(){
     cout<<"masukan baris :";
     cin>>a;
     cout<<"masukan kolom : " ;
     cin>>b;
    
     for(int i=0;i<a;i++){
             for(int j=0;j<b;j++){
                     cout<<"masukan data array ke-["<<i<<"],["<<j<<"] : ";
                     cin>>data[i][j];}}
}

void array::proses(){
    int k=0;
     for(int i=0;i<a;i++){
             for(int j=0;j<b;j++){
                     e[k]=data[i][j];k=k+1;
                     }
                     }
                     }
void array::keluar(){
     cout<<"data awal yang dimasukan :"<<endl;
     for(int i=0;i<a;i++){cout<<"[";
     for(int j=0;j<b;j++){
             cout<<data[i][j];}cout<<"]"<<endl;}
            
     cout<<"data yang sudah dipindah : "<<endl<<"[";
     for(int i=0;i<(a*b);i++){
             cout<<e[i];
             }cout<<"]";cout<<endl;
             }
int main(int argc, char *argv[])
{
    array x;
    x.inputan();
    x.proses();
    x.keluar();
    system("PAUSE");
    return EXIT_SUCCESS;
}




Jika dalam program ini masih ada yang kurang paham silahkan komentar atau bertanya melalui chat box yang saya sediakan terimaksih