const n = 10; //В константе n указываем количество элементов в массиве
var a:array[1..n]of integer;
i,s,max,min:integer;
begin
write('Массив: '); //Вывод на экран слова "Массив: "
for i:= 1 to n do //Цикл с параметром для последовательной обработки массива
begin
a[i]:= random(21)-10; //Заполнение массива случайными числами из промежутка [-10,10]
if (a[i]>0){//Проверяем положительный элемент или нет} and (a[i] mod 2 = 0){//Проверяем чётный элемент или нет} then s:=s+1; //В переменной s будет считаться количество чётных положительных элементов при выполнении, указанных условий
write(a[i],' ') //Вывод на экран массива в строку
end;
writeln; //Переход на новыю строку
if s=0 then write('Чётных положительных элементов в массиве нет') //Вывод на экран сообщения "Чётных положительных элементов в массиве нет" и завершение программы
else //Продолжении программы при нахождении хотя бы 1-го чётного положительного элемента
begin
max:=2; //Т.к. 2 минимальное чётное положительное число, то присваиваем это значение переменной max
for i:= 1 to n do //Поиск max элемента
if (a[i]>0) and (a[i] mod 2 = 0) and (a[i]>max){//Проверяем больше текущий элемент max или нет} then max:=a[i]; //Присваиваем переменной max значение текущего элемента при выполнении, указанных условий
min:=max; //Т.к. max значение элемента массива уже найдено, то переменной min присваиваем значение переменной max
for i:= 1 to n do //Поиск min элемента
if (a[i]>0) and (a[i] mod 2 = 0) and (a[i]<min){//Проверяем меньше текущий элемент min или нет} then min:=a[i]; //Присваиваем переменной min значение текущего элемента при выполнении, указанных условий
if max=min then write ('Максимальным и минимальным чётным положительным элементом является один и тот же элемент: ',max) //Вывод на экран результатов
else
begin
writeLn('Максимальный чётный положительный элемент: ',max);//Вывод на экран результатов
write('Минимальный чётный положительный элемент: ',min)//Вывод на экран результатов
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016 const n=15; var a:array[1..n] of integer; i,t:integer; begin Randomize; for i:=1 to n do begin a[i]:=Random(90)+10; Write(a[i],' ') end; Writeln; for i:=1 to n div 2 do begin t:=a[i]; a[i]:=a[n-i+1]; a[n-i+1]:=t end; for i:=1 to n do Write(a[i],' ') end.
const n = 10; //В константе n указываем количество элементов в массиве
var a:array[1..n]of integer;
i,s,max,min:integer;
begin
write('Массив: '); //Вывод на экран слова "Массив: "
for i:= 1 to n do //Цикл с параметром для последовательной обработки массива
begin
a[i]:= random(21)-10; //Заполнение массива случайными числами из промежутка [-10,10]
if (a[i]>0){//Проверяем положительный элемент или нет} and (a[i] mod 2 = 0){//Проверяем чётный элемент или нет} then s:=s+1; //В переменной s будет считаться количество чётных положительных элементов при выполнении, указанных условий
write(a[i],' ') //Вывод на экран массива в строку
end;
writeln; //Переход на новыю строку
if s=0 then write('Чётных положительных элементов в массиве нет') //Вывод на экран сообщения "Чётных положительных элементов в массиве нет" и завершение программы
else //Продолжении программы при нахождении хотя бы 1-го чётного положительного элемента
begin
max:=2; //Т.к. 2 минимальное чётное положительное число, то присваиваем это значение переменной max
for i:= 1 to n do //Поиск max элемента
if (a[i]>0) and (a[i] mod 2 = 0) and (a[i]>max){//Проверяем больше текущий элемент max или нет} then max:=a[i]; //Присваиваем переменной max значение текущего элемента при выполнении, указанных условий
min:=max; //Т.к. max значение элемента массива уже найдено, то переменной min присваиваем значение переменной max
for i:= 1 to n do //Поиск min элемента
if (a[i]>0) and (a[i] mod 2 = 0) and (a[i]<min){//Проверяем меньше текущий элемент min или нет} then min:=a[i]; //Присваиваем переменной min значение текущего элемента при выполнении, указанных условий
if max=min then write ('Максимальным и минимальным чётным положительным элементом является один и тот же элемент: ',max) //Вывод на экран результатов
else
begin
writeLn('Максимальный чётный положительный элемент: ',max);//Вывод на экран результатов
write('Минимальный чётный положительный элемент: ',min)//Вывод на экран результатов
end
end
end.
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
begin
var a:=ArrRandom(ReadInteger('n='),10,99); a.Println;
a:=a.Reverse.ToArray; a.Println
end.
Тестовое решение:
n= 15
33 91 99 60 56 92 99 23 33 25 62 27 42 27 11
11 27 42 27 62 25 33 23 99 92 56 60 99 91 33
2. Школьный вариант
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
const
n=15;
var
a:array[1..n] of integer;
i,t:integer;
begin
Randomize;
for i:=1 to n do begin
a[i]:=Random(90)+10;
Write(a[i],' ')
end;
Writeln;
for i:=1 to n div 2 do begin
t:=a[i]; a[i]:=a[n-i+1]; a[n-i+1]:=t
end;
for i:=1 to n do Write(a[i],' ')
end.