Deskripsi
for i ß 1 to n-1 do
pos = i
for j ß i+1 to n do
if ( data[j]<data[pos])
pos = j
if (pos != 0 i) then
tukar(pos,i)
endif
endif
endfor
endfor
Berikut programnya :
#include <iostream.h>
#include <conio.h>
int data[10],data2[10];
int n;
void tukar(int a, int b)
{
int t;
t = data[b];
data[b] = data[a];
data[a] = t;
}
void selection_sort()
{
int pos,i,j;
for(i=1;i<=n-1;i++)
{
pos = i;
for(j = i+1;j<=n;j++)
{
if(data[j] < data[pos]) pos = j;
}
if(pos != i) tukar(pos,i);
}
}
void main()
{
cout<<"===PROGRAM SELECTION SORT==="<<endl;
cout<<"Masukkan Jumlah Data : ";
cin>>n;
for(int i=1;i<=n;i++)
{
cout<<"Masukkan data ke "<<i<<" : ";
cin>>data[i];
data2[i]=data[i];
}
selection_sort();
cout<<"Data Setelah di Sort : ";
for(int i=1; i<=n; i++)
{
cout<<" "<<data[i];
}
cout<<"\n\nSorting dengan selection sort Selesai";
getch();
}
Program di atas adalah program selection sort . Misalnya data pertama akan dibandingkan dengan data yang berikutnya untuk mencari data terkecil yang kemudian ditempatkan di sebelah kiri dan seterusnya
Minggu, 03 Juli 2011
Program C++ Penjumlahan Big Integer
Algoritma :
Procedure big_integer ( input : digit , output : jumlah )
Deklarasi
digit : integer of array (input)
jumlah : integer of array (output)
Deskripsi
read(digit)
for i <= 0 to digit do
digit = input1[i]
write (input1[i])
for i <= 0 to digit do
digit = input2[i]
write (input2[i])
enfor
endfor
for i<= 0 to digit do
jumlah[i] = 0
endfor
read(jumlah)
for i <= digit-1 to 0 do
jumlah[i] = jumlah[i] + input1[i] + input2[i]
if ( jumlah[i] > 9 && I !=0 )
jumlah[i] = jumlah[i] % 10
jumlah[i – 1] = jumlah[i – 1] + 1
endif
endfor
for i <= 0 to digit do
jumlah[i]
endfor
write(jumlah)
Programnya :
#include <cstdlib>
#include <iostream>
using namespace std;
class big{
public:
big();
void masuk();
void beri_nilai();
void penjumlahan();
void keluar();
private:
int digit;
int input1[999];
int input2[999];
int jumlah[999];
};
big::big(){
cout<<"penjumlahan 2 bilangan dengan banyak digit"<<endl<<endl;
}
void big::masuk(){
cout<<"digit dari kiri"<<endl;
cout<<"banyaknya digit : ";
cin>>digit;
cout<<"\nbilangan pertama"<<endl;
for(int i=0;i<digit;i++){
cout<<"digit ke-"<<(i+1)<<" : ";
cin>>input1[i];
}
cout<<"bilangan : ";
for(int i=0;i<digit;i++){
cout<<input1[i];
}
cout<<endl;
cout<<"\nbilangan kedua"<<endl;
for(int i=0;i<digit;i++){
cout<<"digit ke-"<<(i+1)<<" : ";
cin>>input2[i];
}
cout<<"bilangan : ";
for(int i=0;i<digit;i++){
cout<<input2[i];
}
cout<<endl;
}
void big::beri_nilai(){
for(int i=0;i<digit;i++){
jumlah[i]=0;
}
}
void big::penjumlahan(){
for(int i=(digit-1);i>=0;i--){
jumlah[i]=jumlah[i]+input1[i]+input2[i];
if (jumlah[i] >9 && i !=0){
jumlah[i]=jumlah[i]%10;
jumlah[i-1]=jumlah[i-1]+1;
}
}
}
void big::keluar(){
cout<<"\nhasil penjumlahan : ";
for(int i=0;i<digit;i++){
cout<<jumlah[i];
}
cout<<endl<<endl;
}
int main(int argc, char *argv[])
{
big x;
x.masuk();
x.beri_nilai();
x.penjumlahan();
x.keluar();
system("PAUSE");
return EXIT_SUCCESS;
}
Program diatas adalah program untuk menjumlahkan bilangan bulat besar menggunakan sebuah array .
Procedure big_integer ( input : digit , output : jumlah )
Deklarasi
digit : integer of array (input)
jumlah : integer of array (output)
Deskripsi
read(digit)
for i <= 0 to digit do
digit = input1[i]
write (input1[i])
for i <= 0 to digit do
digit = input2[i]
write (input2[i])
enfor
endfor
for i<= 0 to digit do
jumlah[i] = 0
endfor
read(jumlah)
for i <= digit-1 to 0 do
jumlah[i] = jumlah[i] + input1[i] + input2[i]
if ( jumlah[i] > 9 && I !=0 )
jumlah[i] = jumlah[i] % 10
jumlah[i – 1] = jumlah[i – 1] + 1
endif
endfor
for i <= 0 to digit do
jumlah[i]
endfor
write(jumlah)
Programnya :
#include <cstdlib>
#include <iostream>
using namespace std;
class big{
public:
big();
void masuk();
void beri_nilai();
void penjumlahan();
void keluar();
private:
int digit;
int input1[999];
int input2[999];
int jumlah[999];
};
big::big(){
cout<<"penjumlahan 2 bilangan dengan banyak digit"<<endl<<endl;
}
void big::masuk(){
cout<<"digit dari kiri"<<endl;
cout<<"banyaknya digit : ";
cin>>digit;
cout<<"\nbilangan pertama"<<endl;
for(int i=0;i<digit;i++){
cout<<"digit ke-"<<(i+1)<<" : ";
cin>>input1[i];
}
cout<<"bilangan : ";
for(int i=0;i<digit;i++){
cout<<input1[i];
}
cout<<endl;
cout<<"\nbilangan kedua"<<endl;
for(int i=0;i<digit;i++){
cout<<"digit ke-"<<(i+1)<<" : ";
cin>>input2[i];
}
cout<<"bilangan : ";
for(int i=0;i<digit;i++){
cout<<input2[i];
}
cout<<endl;
}
void big::beri_nilai(){
for(int i=0;i<digit;i++){
jumlah[i]=0;
}
}
void big::penjumlahan(){
for(int i=(digit-1);i>=0;i--){
jumlah[i]=jumlah[i]+input1[i]+input2[i];
if (jumlah[i] >9 && i !=0){
jumlah[i]=jumlah[i]%10;
jumlah[i-1]=jumlah[i-1]+1;
}
}
}
void big::keluar(){
cout<<"\nhasil penjumlahan : ";
for(int i=0;i<digit;i++){
cout<<jumlah[i];
}
cout<<endl<<endl;
}
int main(int argc, char *argv[])
{
big x;
x.masuk();
x.beri_nilai();
x.penjumlahan();
x.keluar();
system("PAUSE");
return EXIT_SUCCESS;
}
Program diatas adalah program untuk menjumlahkan bilangan bulat besar menggunakan sebuah array .
Program C++ Perkalian 2 Himpunan
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
string a[10];
string b[10];
int n,m;
cout<<"Masukan Data A:";
cin>>n;
for(int x=0;x<n;x++)
{
cout<<"Data["<<x+1<<"]:";
cin>>a[x];
}
cout<<endl;
cout<<"Masukan Data B:";
cin>>m;
for(int y=0;y<m;y++)
{
cout<<"Data["<<y+1<<"]:";
cin>>b[y];
}
cout<<endl;
cout<<"AxB=";
for(int x=0;x<n;x++)
for(int y=0;y<m;y++)
{
cout<<"{("<<a[x]<<")("<<b[y]<<")}";
cout<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
Program yang digunakan untuk mengalikan dua himpunan ,jika ada dua himpunan,himpunan A dan himpunan B maka program akan kalikan anggota dari himpunan A dan B. Dengan A x B . Program di atas menggunakan array dan telah diinput integer tipe data dan string.
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
string a[10];
string b[10];
int n,m;
cout<<"Masukan Data A:";
cin>>n;
for(int x=0;x<n;x++)
{
cout<<"Data["<<x+1<<"]:";
cin>>a[x];
}
cout<<endl;
cout<<"Masukan Data B:";
cin>>m;
for(int y=0;y<m;y++)
{
cout<<"Data["<<y+1<<"]:";
cin>>b[y];
}
cout<<endl;
cout<<"AxB=";
for(int x=0;x<n;x++)
for(int y=0;y<m;y++)
{
cout<<"{("<<a[x]<<")("<<b[y]<<")}";
cout<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
Program yang digunakan untuk mengalikan dua himpunan ,jika ada dua himpunan,himpunan A dan himpunan B maka program akan kalikan anggota dari himpunan A dan B. Dengan A x B . Program di atas menggunakan array dan telah diinput integer tipe data dan string.
Langganan:
Postingan (Atom)