Дана последовательность целых чисел. Исключить из нее все числа, встречающиеся более трех раз. Затем числа, стоящие на нечетных местах, упорядочить по неубыванию.
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:=1 to n do begin mas[i]:=random(3); write(mas[i],' '); end; max:=1; len:=n; for i:=n downto 1 do begin b:=false; for j:=1 to max do if sup[j]=mas[i] then begin inc(freq[j]); b:=true; end; if b=false then begin inc(max); sup[max]:=mas[i]; end; end; writeln;
for j:=1 to max do if freq[j]>3 then for k:=len downto 1 do if mas[k]=sup[j] then begin for u:=k to len-1 do mas[u]:=mas[u+1]; dec(len); end; {----------------------------------------------------} for i:=1 to len do write(mas[i],' '); for i:=len downto 1 do if (i mod 2)=1 then begin for j:=i to len-1 do mas[j]:=mas[j+1]; dec(len); end;
writeln; for i:=1 to len do write(mas[i],' '); readln; end.