Kasus 4.4 & 4.6 dapat dilihat di :
http://ratihpuspita29.blogspot.co.id/search/label/bab7
4.3
Problem
Find the maximum number in a set of n number
Source Code :
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
void masuk_data(int A[], int n )
{
int i;
for(i=0;i<n;i++){
cout << "Data ke-"<< i+1 <<" : " ;
cin >>A[i];
}
}
int maksimum2(int a,int b)
{
if(a>b) return (a);
else return (b);
}
int maksimum (int data [] ,int n)
{
int i, temp;
temp=data[0];
for(i=0;i<n;i++)
temp=maksimum2(temp, data[i]);
return(temp);
}
main()
{
int n;
int bilangan[10];
cout<<"Masukkan Banyak Data : ";
cin>>n;
masuk_data(bilangan,n);
cout << "Nilai terbesar : "<<maksimum (bilangan,n);
cout<<endl;
return 0;
}
Kalau di run, hasilnya :
Flowchart :
4.5
Problem
Given a ramdomly ordered array of n elments, partition the element into two subsets such that elements <= x are in one subset and elements >x are in the other subsets.
C++ :
#include< iostream>
using namespace std;
void quicksort(int *arr, int kiri, int kanan){
int tmp, i=kiri, j=kanan, cetak;
int pivot=arr[(kiri+kanan)/2];
while (i<=j){
while (arr[i]<pivot){
i++;
Kalau di run, hasilnya :
C++ :
#include< iostream>
using namespace std;
void quicksort(int *arr, int kiri, int kanan){
int tmp, i=kiri, j=kanan, cetak;
int pivot=arr[(kiri+kanan)/2];
while (i<=j){
while (arr[i]<pivot){
i++;
}
while (arr[j]>pivot){
j--;
}
if(i<=j){
tmp=arr[j];
arr[i]=arr[j];
arr[j]=tmp;
i++;
j--;
}
}
if (kiri<j)
quicksort(arr,kiri,j);
if(i<kanan)
quicksort(arr,i,kanan);
}
int main(int argc, char** argv) {
int data[8]={17,10,13,15,18,12,14,16};
cout<<"Awal : "<<data[8]<<endl;
quicksort(data,0,7);
cout<<"Terurut : "<<data[8];
return 0;
}
Kalau di run, hasilnya :






Tidak ada komentar:
Posting Komentar