Selasa, 01 Maret 2011

selection sort

#include <iostream>

#include <time.h>

using namespace std;

void DataRandom();

void DataManual();

void urutkan(int *errei, int ukuranArray);

int main()

{

srand((unsigned)time(NULL));

char menuDiPilih;

cout << "1. data random" << endl;

cout << "2. data manual" << endl;

cin >> menuDiPilih;

if(menuDiPilih=='1')

DataRandom();

else if(menuDiPilih=='2')

DataManual();

system("pause");

return 0;

}

void DataRandom()

{

int ukuranArray, rentangNilai, *errei;

cout << "ukuran array : ";

cin >> ukuranArray;

cout << "rentang nilai : ";

cin >> rentangNilai;

errei = new int[ukuranArray];

cout << "data hasil random:\n";

for(int i=0; i<ukuranArray; i++)

{

errei[i]=rand()%rentangNilai;

cout << errei[i] << " ";

}

cout << endl;

urutkan(errei, ukuranArray);

}

void urutkan(int *errei, int ukuranArray)

{

int posisiSekarang, posisiTerkecil;

posisiSekarang=0;

for(;posisiSekarang<ukuranArray;posisiSekarang++)

{

posisiTerkecil=posisiSekarang;

for(int i=posisiSekarang+1;i<ukuranArray;i++)

if(errei[posisiTerkecil]>errei[i])

posisiTerkecil=i;

if(errei[posisiTerkecil]<errei[posisiSekarang])

{

errei[posisiTerkecil]+=errei[posisiSekarang];

errei[posisiSekarang]=errei[posisiTerkecil]-errei[posisiSekarang];

errei[posisiTerkecil]-=errei[posisiSekarang];

}

}

cout << "data setelah diurutkan dengan selection sort:\n";

for(posisiSekarang=0;posisiSekarang<ukuranArray;posisiSekarang++)

cout << errei[posisiSekarang] << " ";

cout << endl;

}

void DataManual()

{

int ukuranArray, *errei;

cout << "ukuran array: ";

cin >> ukuranArray;

errei=new int[ukuranArray];

cout << "mengisi array dari indeks ke 0 sampai ke " << ukuranArray-1 << endl;

for(int i=0;i<ukuranArray;i++)

cin >> errei[i];

urutkan(errei,ukuranArray);

}

Tidak ada komentar:

Posting Komentar