Решить в pascal 1. поменять местами максимальный и минимальный элемент массива. 2. вывести четные числа среди положительных элементов 3. напечатать сумму и номера положительных элементов после первого нулевого элемента
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;
// здесь нужно объявить количество элементов или ввести с
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;