Первое число в каждой паре чисел заменить суммой, второе – произведением - Pascal ABC
Формулировка задачи:
Задан массив D(12). Первое число в каждой паре чисел заменить
суммой, второе – произведением этим чисел, если ни одно из чисел этой
пары не равно нулю. В противном случае числа пары переписать в мас
сив B.
Решение задачи: «Первое число в каждой паре чисел заменить суммой, второе – произведением»
textual
Листинг программы
const n=12; var d,b:array[1..n] of integer; i,m,s,p:integer; begin randomize; writeln('Массив D'); for i:=1 to n do begin d[i]:=random(10); write(d[i]:4); end; writeln; m:=0; i:=1; while i<n do begin if d[i]*d[i+1]<>0 then begin s:=d[i]+d[i+1]; p:=d[i]*d[i+1]; d[i]:=s; d[i+1]:=p; end else begin m:=m+2; b[m-1]:=d[i]; b[m]:=d[i+1]; end; i:=i+2; end; writeln('Измененный массив D'); for i:=1 to n do write(d[i]:4); writeln; if m=0 then write('Массив В пустой') else begin writeln('Массив В'); for i:=1 to m do write(b[i]:4); end; end.
Объяснение кода листинга программы
- Создается константа n со значением 12.
- Создается переменная d типа array[1..n] of integer, где n - это значение константы n.
- Создается переменная b типа array[1..m] of integer, где m - это значение переменной m.
- Создаются три переменные i, m, s типа integer.
- Выполняется итерация от 1 до n.
- Внутри цикла d[i] присваивается случайное число от 0 до 9 (так как random(10) возвращает случайное число от 0 до 9).
- Выводится значение d[i].
- Переменная m и переменная i сбрасываются на начальные значения.
- Запускается цикл while.
- Внутри цикла проверяется условие: если d[i] * d[i+1] <> 0, то выполняется следующая последовательность действий:
- Переменная s присваивается сумме d[i] и d[i+1].
- Переменная p присваивается произведению d[i] и d[i+1].
- d[i] присваивается s.
- d[i+1] присваивается p.
- Если условие не выполняется, то переменная m увеличивается на 2, и переменная b[m-1] присваивается значению d[i].
- Затем переменная b[m] присваивается значению d[i+1].
- После окончания внутреннего цикла while выполняется следующая последовательность действий:
- Выводится измененный массив d.
- Если m равно 0, выводится сообщение
Массив В пустой
. - Иначе выводится массив b.
- Для каждого элемента массива b выводится значение в формате 4 цифры.
- Конец программы.