Menentukan modus dari n buah data berupa bilangan bulat, di mana besar datanya antara 1 sampai dengan 10 c++

Menentukan modus dari n buah data berupa bilangan bulat, di mana besar datanya antara 1
sampai dengan 10. (diktat bab 7 kasus 6.5)

procedure maksimum(data : larik; n : integer;output maks, item : integer)
{ procedure ini hasil modifikasi dari algoritma (…) karena selain nilai maks dari larik data, juga
perlu diketahui besar datanya item }
Deklarasi
i : integer
Deskripsi
maks <= data[1]
item <= 1
for i <= 2 to n do
if (data[i] > maks) then
maks <= data[i];
item <= i;
endif
endfor

#include <iostream>
#include <math.h>

using namespace std;

class HitungStatistik {
friend ostream& operator<<(ostream&, HitungStatistik&);
friend istream& operator>>(istream&, HitungStatistik&);
public:
HitungStatistik();
void hitung_modus();
private:
void maksimum();
void frekuensi();
int maks, item;
int n;
int A[20];
int f[11];
};

HitungStatistik::HitungStatistik()
{ for (int i=0; i<20; i++) f[i] = 0; }

istream& operator>>(istream& in, HitungStatistik& a) {
cout << "Banyaknya data : ";
cin >> a.n;
for (int i = 0; i < a.n; i++) {
cout << "Data ke- : " << i+1 << " > ";
cin >> a.A[i];
}
return in;
}

void HitungStatistik::maksimum()
{
maks = f[0];
item = 1;
for (int i=0; i<n; i++)
if (f[i] > maks) {
maks = f[i];
item = i;
}
cout << "Modus = " << item;
}

void HitungStatistik::frekuensi()
{
for (int i=1; i<n; i++) ++f[A[i]];
}

void HitungStatistik::hitung_modus() {
cout << "Frekuensi running\n";
frekuensi();
maksimum();
}

ostream& operator<<(ostream& out, HitungStatistik& a) {
cout << "Mulai ...\n";
a.hitung_modus();
cout << "Nilai modus : " << a.item;
return out;
}

main() {
HitungStatistik run;
cin >> run;
cout << run;
return 0;
}


C++



RAPTOR















sumber http://elpituyogi.blogspot.co.id/2016/04/tugas-diktat-bab-7-kasus-65.html


EmoticonEmoticon