0% found this document useful (0 votes)
13 views1 page

Output

Uploaded by

GALIH FANANI
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views1 page

Output

Uploaded by

GALIH FANANI
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 1

#include <iostream>

#include <conio.h>
using namespace std;

class Sorting {
friend istream& operator>>(istream& in, Sorting& x);
friend ostream& operator<<(ostream& out, Sorting& x);
public:
void baca_data();
void cetak_data();
void mergeShort ();
private:
void minimum(int , int, int&);
void tukar (int&, int&);
int data[10], n;
};
istream& operator>>(istream& in, Sorting& x) {
cout << "Banyak input data : ";
in >> x.n;
for (int i = 0; i < x.n; i++) {
cout << "Data ke-" << i+1 << " : ";
in >> x.data[i];
}
return in;
}
ostream& operator<<(ostream& out, Sorting& x) {
for (int i = 0; i < x.n; i++)
out << x.data[i] << " ";
out << "\n";
return out;
}
void Sorting::tukar (int &x, int &y)
{ int temp;
temp = x;
x = y;
y = temp;
}
void Sorting::mergeShort()
{
int i, j, temp;
cout << "Data pertama disebalah kiri, angka : " << data[0] << '\n';
for(j = 1; j < n; j++)
{
temp = data[j];
cout << "\nData ke-" << j+1 << " yaitu angka " << data[j] << " diambil dari data/barisan data acak\n";
cout << "Melakukan perpindahan posisi :\n";
for(i = j - 1; (i >= 0) && (data[i] > temp); i--)
{
cout << "data pd posisi ke-[" << i+1 << "] dipindah ke posisi [" << i+2 << "]\n";
data[i+1] = data[i];
}
cout << "Data angka baru masuk ke posisi [" << i+2 << "]\n";
data[i+1] = temp; //Insert key into proper position
cout << "Data sekarang adalah : ";
for (int k=0; k<=j; k++) cout << data[k] << " ";
getch();
}
}
int main(int argc, char** argv) {
Sorting angka;
cin >> angka;
angka.mergeShort();
cout << "\nHasil akhir deret/barisan data acak adalah : \n";
cout << angka;
return 0;
}

You might also like