1) Каждое из двух чисел, записанных друг за другом, находятся в диапазоне от 0 до 18.
2) Помним про упорядоченность.
а) 112 <- "11" "2" <- "5+6" "1+1" <- "5611"
б) либо 191 <- "1" "91", либо 191 <- "19" "1". В любом случае получаются числа больше 18
в) 1114 <- "11" "14", но 11 < 14. Провал
г) 1519 <- "15" "19", 15 < 19, снова провал
Ответ: а)
Uses crt;
type mas=array[1..1000] of integer;
var a:mas;
n,i:integer;
procedure gnomesort(var arr:mas; size : Integer);
var i, j, t : Integer;
begin
i := 2;
j := 3;
while i <= size do
begin
if arr[i-1] <= arr[i] then
begin
i := j;
j := j + 1
end
else
begin
t := arr[i-1];
arr[i-1] := arr[i];
arr[i] := t;
i := i - 1;
if i = 1 then
begin
i := j;
j := j + 1
end
end
end;
end;
begin
write('Размер массива n=');
read(n);
writeln('Исходный массив:');
for i:=1 to n do
read(a[i]);
writeln;
gnomesort(a,n);
writeln('Результат сортировки:');
for i:=1 to n do
write(a[i],' ');
end.
===== PascalABC.NET =====
begin
var n := ReadInteger('n =');
var a := ArrRandom(n, -99, 99);
a.Println;
Println('Результат:', (a.Max + a.Min) / 2)
end.
===== Turbo Pascal =====
program abcd;
uses Crt;
const
nn = 100;
var
i, n, max, min: integer;
a: array[1..nn] of integer;
begin
ClrScr;
Write('n = ');
Readln(n);
Randomize;
max := -32768;
min := 32767;
for i := 1 to n do
begin
a[i] := Random(199) - 99;
Write(a[i], ' ');
if a[i] > max then
max := a[i]
else if a[i] < min then
min := a[i]
end;
Writeln;
Writeln('Результат: ', (max + min) / 2);
ReadKey
end.
Var
a,b : array[1..8, 1..8]of integer;
i, j,k, x, y, x1, y1:integer;
begin
k:=-1;
for i:= 1 to 8 do
begin
k:=-k;
for j:= 1 to 8 do
begin
a[i,j]:=k;
b[i,j]:=k;
k:= -k;
end;
end;
Readln(x,y);
Readln(x1,y1);
if (a[x,y] = b[x1,y1]) then Writeln('YES')
else Writeln('NO');
end.