Дана последовательность целых чисел. Исключить из нее все числа, встречающиеся более трех раз. Затем числа, стоящие на нечетных местах, упорядочить по неубыванию.
Bokul
19.06.2006 2:58
Цитата
Дана последовательность целых чисел. Исключить из нее все числа, встречающиеся более трех раз. Затем числа, стоящие на нечетных местах
Вот:
uses crt;
const n=10;
var mas:array[1..n] of byte;
sup:array[1..n] of byte;
freq:array[1..n] of byte;
i,j,k,u,max,len:integer; b:boolean;
begin
clrscr;
randomize;
for i:=1to n dobegin
mas[i]:=random(3);
write(mas[i],' ');
end;
max:=1;
len:=n;
for i:=n downto1dobegin
b:=false;
for j:=1to max doif sup[j]=mas[i] thenbegin
inc(freq[j]);
b:=true;
end;
if b=false thenbegin
inc(max);
sup[max]:=mas[i];
end;
end;
writeln;
for j:=1to max doif freq[j]>3thenfor k:=len downto1doif mas[k]=sup[j] thenbeginfor u:=k to len-1do
mas[u]:=mas[u+1];
dec(len);
end;
{----------------------------------------------------}for i:=1to len do
write(mas[i],' ');
for i:=len downto1doif (i mod2)=1thenbeginfor j:=i to len-1do
mas[j]:=mas[j+1];
dec(len);
end;
writeln;
for i:=1to len do
write(mas[i],' ');
readln;
end.