Цитата:
Сообщение от grisha2207
Дан массив целых чисел длинной n ,элементы которого могут повторятся .Найти третий по величине элемент массива.
Через Паскаль
|
Например, так:
Код:
Const
N=16;
Var
A:Array[1..N] of Byte;
M,j:Byte;
Function Find_Max:Byte;
var Max,i:Byte;
begin
Max:=0;
for i:=1 to N do
if A[i]>Max then Max:=A[i];
Find_Max:=Max;
end;
Procedure Zero_Max(Mx:Byte);
var i:Byte;
begin
for i:=1 to N do
if A[i]=Mx then A[i]:=0;
end;
Procedure Out_Max(Mx:Byte);
var i:Byte;
begin
for i:=1 to N do
if A[i]=Mx then writeln('A[',i:2,']= ',A[i]);
end;
Begin
Randomize;
for j:=1 to N do
begin
A[j]:=Random(N*2);
write(A[j]:4);
end;
writeln;
writeln;
For j:=1 to 2 do
begin
M:=Find_Max;
Zero_Max(M);
end;
M:=Find_Max;
Writeln('Result:');
Out_Max(M);
Readln
End.