Помогите решить задачи в Pascal 1. Поменять местами максимальный и минимальный элемент...

0 голосов
43 просмотров

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


Информатика (16 баллов) | 43 просмотров
0

массив одномерный?

0

да

Дан 1 ответ
0 голосов

1)
// здесь нужно объявить количество элементов или ввести с помощью readln
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]    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;













(1.3k баллов)
0

Спасибо!