Nhập vào 1 mảng 1 chiều,in ra phần tử lớn nhất và nhỏ nhất không xuất hiện trong mảng
Ví dụ: 5
4 17 9 21 19
Xuất ra màn hình hai số là lớn nhất và nhỏ nhất không xuất hiện là
5 20
Giải thích: 4 là số nhỏ nhất đã xuất hiện,còn 5 là số nhỏ nhất chưa xuất hiện
Tương tự như vậy,21 là số lớn nhất đã xuất hiện,20 là số nhỏ nhất chưa xuất hiện
uses crt;
var n,i,j,t,m:longint; a:array[1..100000]of longint;
begin
clrscr;
write(‘Nhap n: ‘);readln(n);
for i:=1 to n do read(a[i]); readln;
for i:=1 to n do
for j:=1 to i-1 do
if a[i]<a[j] then
begin t:=a[i]; a[i]:=a[j]; a[j]:=t; end;
m:=a[1]; i:=1;
repeat
inc(m);
if m=a[i+1] then inc(i);
until m<>a[i];
write(m,’ ‘);
m:=a[n]; i:=n;
repeat
dec(m);
if m=a[i-1] then dec(i);
until m<>a[i];
write(m);
readln;
end.
uses crt;
var a:array[1..10000] of longint;
i,j,n,t:word;
tam,min,max:longint;
begin
clrscr;
readln(n);
for i:=1 to n do read(a[i]);
readln;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
tam:=a[i];
a[i]:=a[j];
a[j]:=tam;
end;
i:=1;min:=a[1];
while (min=a[i]) and (i<>n) do
begin
inc(i);
if a[i]<>a[i-1] then
inc(min);
end;
t:=n;
max:=a[n];
while (max=a[n]) and (n<>1) do
begin
dec(n);
if a[n]<>a[n+1] then
dec(max);
end;
if (min=a[t]) and (max=a[1]) then writeln(”)
else
if max=min then writeln(max)
else
if max>min then writeln(min,’ ‘,max)
else writeln(max,’ ‘,min);
readln;
end.