uses crt;
var a,count: array[1..100] of byte;
k,i,n,j,modus,max: integer;
begin
write('masukkan jumlah angka : ');
readln(i);
n:=1;
//menginputkan nilai random variabel array
repeat
a[n]:=random(100);
n:=n+1;
until (n>i);
//menceteak nilai yang diinputkan dari random
writeln('data yang belum di shorting');
for n:=1 to i do
write(a[n],' ');
writeln;writeln;
//mensorting nilai random yang di inputkan
for n:=1 to i do
for k:=n+1 to i do
if (a[n] > a[k])then
begin
j:=a[n];
a[n]:=a[k];
a[k]:=j;
end;
//mencetak data yang sudah di sorting
writeln('data yang sudah di shorting');
for n:=1 to i do
write(a[n],' ');
writeln;
writeln;
max:=0;
//menciptakan nilai count setiap data
for n:=1 to i-1 do
count[a[n]]:=1;
//memposisikan count per nilai
for n:=1 to i-1 do
begin
if (a[n]=a[n+1]) then
count[a[n]]:=count[a[n]]+1
else
if (count[a[n]]>max) then
begin
max:=count[a[n]]; // menyimpan nilai max modus & nilai modusnya
modus:=a[n];
end;
end;
writeln('nilai modusnya adalah ',modus,' sejumlah ',max); //mencetak nilai
modus
//cek ulang jika ada nilai modus lebih dari 1
for n:=1 to i-1 do
begin
if ((count[a[n]]=max)and(a[n]<>modus)) then
begin
modus:=a[n];
writeln('nilai modusnya adalah ',modus,' sejumlah ',max);
end;
end;
writeln;
end.
Thursday, June 24, 2010
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment