Program test;
var max,n:integer;
max:=0;
while n<>0 do// по окончанию ввода последовательности надо поставить '0'
begin
if max<n then max:=n;
end;
writeln(max);
end.
Ответ:
1.
var a:array[1..6]of integer;
i,k:integer;
begin
k:=0;
write('Массив: ');
for i:= 1 to 6 do
begin
a[i]:= random(5);
write(a[i]:4);
if a[i]=4 then k:=k+1
end;
writeln;
if k=0 then writeln ('В массиве нет элементов равных 4')
else writeln('Количество элементов равных 4 равно ',k)
end.
2.
var a:array[1..6,1..6]of integer;
b:array[1..36]of integer;
i,j,k,z,y,m:integer;
begin
k:=0;
writeln('Массив A ');
for i:= 1 to 6 do
begin
for j:= 1 to 6 do
begin
a[i,j]:= random(51);
write(a[i,j]:3);
end;
writeln;
end;
writeln;
k:=1;
for i:= 1 to 6 do
begin
for j:= 1 to 6 do
begin
for z:=1 to 6 do
begin
for y:=1 to 6 do
begin
if (z<>i) and (y<>j) and (a[i,j] = a[z,y]) then
begin
b[k]:=a[i,j];
k:=k+1
end;
end;
end;
end;
end;
writeln('Массив B ');
for i:= 1 to k-1 do write (b[i]:3);
writeln;
writeln;
m:=b[1];
for i:= 2 to k-1 do if b[i]>m then m:=b[i];
writeln('Максимум среди элементов повторившихся более одного раза в массиве А равен ',m);
end.
Объяснение:
В массиве B во второй задаче находятся повторяющиеся элементы массива А.
Var x,y,a,b:integer;
begin
write('x, y:');
readln(x,y);
if (x>0)and(y>0) then
begin
a:=x; b:=y;
while a<>b do
if a>b then a:=a-b else b:=b-a;
writeln('НОД(',x,',',y,') = ',a);
end
else writeln('Ошибка ввода');
end.
Пример:
<span>x, y:
50 125
НОД(50,125) = 25</span>
<u>PascalABC.NET 3.3.5, сборка 1644 от 23.03.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var n:=ReadInteger;
var (s,d,e):=(n div 100, (n div 10) mod 10, n mod 10);
Writeln('Cотни ',s,', десятки ',d,', единицы ',e);
Writeln('Сумма цифр ',s+d+e,', их произведение ',s*d*e);
Writeln('Справа налево: ',100*e+10*d+s);
Writeln('Перестановка сотен в конец: ',100*d+10*e+s)
end.
<u>Пример</u>
328
Cотни 3, десятки 2, единицы 8
Сумма цифр 13, их произведение 48
Справа налево: 823
Перестановка сотен в конец: 283