Решить в pascal 1. поменять местами максимальный и минимальный элемент массива. 2. вывести четные числа среди положительных элементов 3. напечатать сумму и номера положительных элементов после первого нулевого элемента

MaryanaReynt1 MaryanaReynt1    2   18.07.2019 22:10    0

Ответы
Aann1 Aann1  15.09.2020 18:49
1)
// здесь нужно объявить количество элементов или ввести с
var 
a: array [1..N] of integer;
i: integer;
min: integer;
max: integer;
minnum: integer;
maxnum: integer;

begin
// здесь должен быть ввод значений массива в цикле
// for i:=1 to N do
a[i]=Random(100); или через readln;

min := a[1];
minnum := 1;
max := a[1];
maxnum := 1;
for var i:=2 to N do
begin
  if a[i]<min then
    begin
      min := a[i];
      minnum := i;
    end;
  if a[i]>max then
    begin
      max := a[i];
      maxnum := i;
    end;
end;
a[maxnum]=min;
a[minnum]=max;
//здесь вывод нового массива
end.

2)
for i:=1 to N do
if a[i]>0 then
  if a[i] mod 2 = 0 then
     write(a[i], ' ');
3)
var
sum: integer;
start: integer;
for i:=1 to N do
if a[i]=0 then
   start=i+1;  нашли первый нулевой, начинаем дальше со следующего
for i:=start to N do
begin
if a[i]>0 then
   begin
    sum=sum+a[i];
    write(i, ' '); ///номер положительного элемента
   end;
writeln;
write('Сумма =',sum);
end;
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика