algoritma devide and conquer

List Program :

#include<stdio.h>

#define rentang 10

void maxmin(int,int);

int arr[rentang], max, min, panjang;

int main(){

int i;

printf(“=======algoritma devide and conquer======\n”);

printf(“banyaknya bilangan”);

scanf(“%d” , &panjang  );

for(i=0; i< panjang; i++){

printf(“bilangan ke-%d:\n”,i+1);

scanf(“%d”,&arr[i]);

}

maxmin(0,panjang-1);

printf(“nilai maksimal:%d\n”,max);

printf(“nilai minimal:%d\n”,min);

return 0;

}

void maxmin (int a, int b){

int tmpmax,tmpmin,tmpx;

if(a==b){

max= arr[a];

min = arr[a];

}else if (a==(b-1)){

if (arr[a]>arr[b]){

max=arr[a];

min=arr[b];

}

else{

max= arr[b];

min=arr[a];

}

}

else{

tmpx=(a+b)/2;

maxmin(a,tmpx);

tmpmax=max;

tmpmin=min;

maxmin(tmpx=1,b);

if(max<tmpmax){

max=tmpmax;

}

if(min>tmpmin){

min=tmpmin;

}

}

}

#include<stdio.h>

#define rentang 10

Codingan diatas merupakan header. File header biasanya berekstension .h dan mengandung fungsi-fungsi yang dapat dipanggil. Misalnya jika pada suatu program menggunakan fungsi printf, maka heder yang harus digunakan adalah standard input output (stdio.h). Header itu tempat dimana kita akan memasukan suatu fungsi sebagi perintah

void maxmin(int,int);

int arr[rentang], max, min, panjang;

Pemrogaman c++ bersifat sequential (berurutan). Jadi program di baca dari awal sampai akhirprogram.Void main merupakan sebuah fungsi awal. Jadi di void main inilah program pertama kali dijalankan. Sebuah fungsi harus menggunakan tanda { dan }. Di dalam tanda inilah statement-statement akan ditulis untuk membuat sebuah program. Sedangkan tanda ‘( )’ merupakan sebuah parameter. Untuk lebih jelasnya tentang parameter akan di bahasa pada bab fungsi

int main(){

int i;

Perintah diatas merupakan deklarasi dari variabel yang dipakai pada program. Semua variabel tersebut bertipe data integer.

printf(“=======algoritma devide and conquer======\n”);

printf(“banyaknya bilangan : “);

scanf(“%d” , &panjang  );

for(i=0; i< panjang; i++){

printf(“bilangan ke-%d:\n”,i+1);

scanf(“%d”,&arr[i]);

}

maxmin(0,panjang-1);

printf(“nilai maksimal:%d\n”,max);

printf(“nilai minimal:%d\n”,min);

return 0;

}

Perintah diatas merupakan perintah perulangan pada C++. Maksud dari for (i=0;i<panjang;i++) adalah variabel i akan diberi nilai 0. Lalu kondisi i<panjang akan diperiksa, jika memenuhi maka variabel n akan ditambahkan nilai 1 setelah dicetak.

Printf adalah untuk mencetak perintah yang di tuliskan dalam kurung buka (), dengan nilai max dan min

Return 0;Menyatakan hasil keluaran dari fungsi main() adalah 0.

void maxmin (int a, int b){

int tmpmax,tmpmin,tmpx;

if(a==b){

max= arr[a];

min = arr[a];

}

else if (a==(b-1)){

if (arr[a]>arr[b]){

max=arr[a];

min=arr[b];

}

else{

max= arr[b];

min=arr[a];

}

}

else{

tmpx=(a+b)/2;

maxmin(a,tmpx);

tmpmax=max;

tmpmin=min;

maxmin(tmpx=1,b);

if(max<tmpmax){

max=tmpmax;

}

if(min>tmpmin){

min=tmpmin;

}

}

}

Perintah di atas ini pemeriksaan atau inputan yang kita masukkan untuk memeriksa datamana yang kita input nilai nya maksimal dan minimalnya, setelah di periksa ( menemukan kondisi yang diinginkan) akan menampilkan output nya di atas tadi.

Mana yang bernilai maximum dan mana yang minimum.

Maka outputnya seperti di bawah ini :

coba

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s