procedure tf; var q,j:longint; o:array[1..10] of longint; begin write(m[1],' '); q:=1; o[q]:=m[1]; i:=1; while q<>3 do begin i:=i+1;
if q=1 then if m[i]<>o[1] then begin write(m[i],' '); q:=q+1; o[q]:=m[i]; end;
if q=2 then if (m[i]<>o[1]) and (m[i]<>o[2]) then begin write(m[i]); q:=q+1; end; end; end;
procedure tm; var mk:array[1..10] of longint; begin for i:=1 to 3 do mk[i]:=0;
for i:=1 to n do if mk[1]<m[i] then begin mk[3]:=mk[2]; mk[2]:=mk[1]; mk[1]:=m[i]; end else if (mk[2]<m[i]) and (m[i]<>mk[1]) then begin mk[3]:=mk[2]; mk[2]:=m[i]; end else if (mk[3]<m[i]) and (mk[2]<>m[i]) then mk[3]:=m[i];
write(mk[1],' ',mk[2],' ',mk[3]); end;
Скорее всего это можно было написать чище и оптимальнее, но вот моё решение на скорую руку
Var
N,A:integer;
Begin
Write('N = ');Read(N);
A:=0;
While N>0 do
Begin
if (N mod 10) > A then A:= N mod 10;
N:=N div 10;
End;
Write(A)
End.
Var
N,A,B:integer;
C:boolean;
Begin
Write('N = ');Read(N);
A:=-1;
B:=-2;
C:=false;
While N>0 do
Begin
if A=B then C:=true;
if N>0 then
Begin
A:=N mod 10;
N:=N div 10;
End;
if A=B then C:=true;
if N>0 then
Begin
B:=N mod 10;
N:=N div 10;
End;
End;
if A=B then C:=true;
if C then Write('Есть')
else Write('Нет')
End.
Подробнее - на -
m:array[0..1000] of longint;
n,i:longint;
procedure tf;
var
q,j:longint;
o:array[1..10] of longint;
begin
write(m[1],' ');
q:=1;
o[q]:=m[1];
i:=1;
while q<>3 do
begin
i:=i+1;
if q=1 then
if m[i]<>o[1] then
begin
write(m[i],' ');
q:=q+1;
o[q]:=m[i];
end;
if q=2 then
if (m[i]<>o[1]) and (m[i]<>o[2]) then
begin
write(m[i]);
q:=q+1;
end;
end;
end;
procedure tm;
var
mk:array[1..10] of longint;
begin
for i:=1 to 3 do
mk[i]:=0;
for i:=1 to n do
if mk[1]<m[i] then
begin
mk[3]:=mk[2];
mk[2]:=mk[1];
mk[1]:=m[i];
end else
if (mk[2]<m[i]) and (m[i]<>mk[1]) then
begin
mk[3]:=mk[2];
mk[2]:=m[i];
end else
if (mk[3]<m[i]) and (mk[2]<>m[i]) then mk[3]:=m[i];
write(mk[1],' ',mk[2],' ',mk[3]);
end;
Скорее всего это можно было написать чище и оптимальнее, но вот моё решение на скорую руку