Program krab52;
uses crt;
const
n=10;
var
a:array [1..n] of integer;
i,max,min:integer;
begin
writeln('*** alphaues is thinking... ***');
writeln('*** OK ***');
writeln();
randomize;
{заполняем массив}
for i:=1 to n do
begin
a[i]:=random(101);
write (a[i]:4);
end;
writeln();
{ищем макс и мин}
max:=a[1];
min:=a[1];
for i:=2 to n do
begin
if a[i]<min then min:=a[i];
if a[i]>max then max:=a[i];
end;
{выводим результат}
writeln();
writeln(' Максимальный элемент ',max);
writeln(' Минимальный элемент ',min);
writeln(' Размах между максимальным и минимальным элементами ',max-min);
end.
Const
n=10;
var
a:array[1..n] of integer;
i,k:integer;
begin
Randomize;
Write('Исходный массив: ');
k:=0;
for i:=1 to n do
begin
a[i]:=Random(51)-25;
Write(a[i],' ');
if (a[i]>0) and (a[i] mod 2=0) then Inc(k)
end;
Writeln;
Writeln('Количество четных положительных чисел равно ',k)
end.
Контрольный прогон
Исходный массив: 6 -13 -13 -19 -18 -10 -18 8 -17 -4
Количество четных положительных чисел равно 2
var
i, c : byte;
t : integer;
begin
c := 0;
for i := 1 to 10 do
begin
read (t);
if t mod 2 = 0 then inc (c);
end;
writeln (c);
end.
var
n, i : integer;
begin
read (n);
for i := 100 to 999 do
if i mod 10 + i div 10 mod 10 + i div 100 = n then writeln (i);
end.
var
i : integer;
begin
for i := 100 to 999 do
if i mod 10 = i div 100 then writeln (i);
end.
//PascalABC.NET
var
m : integer;
begin
// Зарезервируем массив [0..9] для подсчета повторов
var a := ArrFill(10, 0);
// Запрос пользователю ввести положительное число
repeat
m := ReadlnInteger('Введите 0 или положительное число ')
until m >= 0;
// Подсчет количества повторяющихся цифр
while m > 0 do begin
a[m mod 10] += 1;
m := m div 10
end;
// Найдем в массиве повторы от 2 и более раз?
if a.FindIndex(x -> x>=2) = -1 then
// Повторов не найдено. Вывод сообщения
writeln('Нет повторов.')
else begin
// Повторы есть.
write('Повторяются: ');
// Выведем повторяющиеся цифры
for var i := 0 to 9 do
if a[i] > 1 then write(i, ' ')
end
end.
Вроде N=2i (только i должна быть маленькой в верху)