diky :)
ale stale mam problem s tym vypisovanym totoznych prvkov, skusal som to spravit aj sam ale nepocita to dobre pokial su dva susedne prvky rovnake( ale neni to v tomto kode ;) ) :
a dalo by sa este spravit aby to vsetko aj zapisovalo do suboru?
Kód:
program bublinkove_triedenie;
type prvok=integer;
index=0..100;
var i,j,k,n:index;
x:prvok;
pocet_totoznych:prvok;
sucet_parnych:prvok;
a: array[index] of prvok;
vstup : string;
m1, m2, m3, m4, m5, m6, m7, m8, s1, s2, s3, s4, s5, s6, s7, s8 : integer;
begin
{ writeln('Program na zostupne usporiadanie ciselneho pola bublinovym triedenim.');
write('Zadaj pocet prvkov:');
readln(n); }
{ writeln('Zadaj ',n,' prvkov: ');
for i:=1 to n do
begin
write(i,'.:');
readln(a[i]);
end; }
writeln('Prosim zadajte 8 miestne cislo');
readln(vstup);
if length(vstup) > 8 then writeln('Zadali ste vacsi pocet cisel') else
if length(vstup) < 8 then writeln('Zadali ste mensi pocet cisel ako je 8');
if length(vstup) = 8 then
begin
n:=8;
val(vstup[1], m1, s1);
a[1]:=m1;
val(vstup[2], m2, s2);
a[2]:=m2;
val(vstup[3], m3, s3);
a[3]:=m3;
val(vstup[4], m4, s4);
a[4]:=m4;
val(vstup[5], m5, s5);
a[5]:=m5;
val(vstup[6], m6, s6);
a[6]:=m6;
val(vstup[7], m7, s7);
a[7]:=m7;
val(vstup[8], m8, s8);
a[8]:=m8;
for i:=1 to n do
begin
for j:=1 to N-1 do
if a[j]>a[j+1] then
begin
x:=a[j];
a[j]:=a[j+1];
a[j+1]:=x;
end;
end;
sucet_parnych:=0;
pocet_totoznych:=0;
write('Zoradenie podla velkosti: ');
for i:=1 to n do
begin
write(a[i],',');
if ((i>1) and (a[i-1]=a[i]) or
(i<n) and (a[i]=a[i+1])) then
begin
pocet_totoznych:=pocet_totoznych+1;
end;
if a[i] mod 2 = 0 then
begin
sucet_parnych:=sucet_parnych + a[i];
end;
end;
writeln('');
write('Pocet totoznych: ',pocet_totoznych);
writeln('');
write('Sucet parnych: ',sucet_parnych);
writeln; readln;
end;
readln;
end.