В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
artmai02
artmai02
13.10.2022 20:33 •  Информатика

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

Ответ:
ksenla200xxx
ksenla200xxx
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;
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?