Вычислить сумму положительных элементов массива - Pascal ABC (12774)

Узнай цену своей работы

Формулировка задачи:

Задан одномерный массив С(N) (N<=60). Вычислить сумму положительных элементов, этой суммой заменить элементы, расположенные после максимального элемента. Массив С напечатать. Если преобразование невозможно, то выдать об этом сообщение.

Решение задачи: «Вычислить сумму положительных элементов массива»

textual
Листинг программы
uses crt;
var C: array[1..60] of integer;
    N, i, imax: byte;
    S,K: integer;
begin
repeat
write('Введите число элементов в массиве C до 60 N=');
readLn(N);
until n in [1..60];
writeLn('Вводим элементы массива C:');
for i := 1 to N do
 begin
  write('C[', i, ']=');
  readLn(C[i]);
 end;
clrscr;
writeLn('Исходный массив C:');
S:=0;
K:=0;
for i := 1 to N do
 begin
  write(C[i]:4);
  if C[i]>0 then S:=S+C[i];
  if C[i]=C[1] then inc(K);
  if i=1 then imax:=1
  else if C[i]>C[imax] then imax:=i
 end;
writeLn;
writeln('Сумма положительных=',S);
if K=N then
 begin
  writeln('Все элементы одинаковые, преобразование невозможно');
  exit
 end;
writeln('Максимальный элемент=',C[imax],' его номер=',imax);
if imax=N then
 begin
  write('Максимальный элемент последний, преобразование невозможно');
  exit
 end;
writeLn('Вывод нового массива C:');
for i := 1 to N do
 begin
  if i>imax then C[i]:=S;
  write(C[i]:5);
 end;
end.

Объяснение кода листинга программы

  1. Создается переменная C, которая представляет собой массив целых чисел размером от 1 до 60.
  2. Задаются две переменные N и i, которые будут использоваться для чтения и обработки элементов массива C.
  3. Задается переменная S, которая будет использоваться для хранения суммы положительных элементов массива C.
  4. Задается переменная K, которая будет использоваться для отслеживания индекса максимального элемента в массиве C.
  5. Выводится сообщение с просьбой ввести количество элементов в массиве C до 60.
  6. Пока пользователь не введет число элементов, не превышающее 60, выполняется цикл.
  7. В каждой итерации цикла выводится сообщение с просьбой ввести элемент массива C.
  8. Если введенный элемент больше нуля, то к переменной S прибавляется его значение.
  9. Если введенный элемент равен элементу C[1], то увеличивается значение переменной K.
  10. Если введенный элемент равен первому элементу массива C, то устанавливается максимальное значение переменной imax.
  11. Если все элементы массива C равны, выводится сообщение о невозможности преобразования.
  12. Если в массиве C есть элементы с разными значениями, выводится сообщение о невозможности преобразования.
  13. Если в массиве C есть максимальный элемент, отличный от последнего, выводится сообщение о невозможности преобразования.
  14. Выводится сообщение с просьбой ввести новый массив C.
  15. В каждой итерации цикла выводится значение элемента массива C, если его значение больше значения переменной imax.
  16. Если в массиве C есть элементы с разными значениями, устанавливается значение переменной imax.
  17. Программа завершается.

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы