Вычислить сумму положительных элементов массива - 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.
Объяснение кода листинга программы
- Создается переменная C, которая представляет собой массив целых чисел размером от 1 до 60.
- Задаются две переменные N и i, которые будут использоваться для чтения и обработки элементов массива C.
- Задается переменная S, которая будет использоваться для хранения суммы положительных элементов массива C.
- Задается переменная K, которая будет использоваться для отслеживания индекса максимального элемента в массиве C.
- Выводится сообщение с просьбой ввести количество элементов в массиве C до 60.
- Пока пользователь не введет число элементов, не превышающее 60, выполняется цикл.
- В каждой итерации цикла выводится сообщение с просьбой ввести элемент массива C.
- Если введенный элемент больше нуля, то к переменной S прибавляется его значение.
- Если введенный элемент равен элементу C[1], то увеличивается значение переменной K.
- Если введенный элемент равен первому элементу массива C, то устанавливается максимальное значение переменной imax.
- Если все элементы массива C равны, выводится сообщение о невозможности преобразования.
- Если в массиве C есть элементы с разными значениями, выводится сообщение о невозможности преобразования.
- Если в массиве C есть максимальный элемент, отличный от последнего, выводится сообщение о невозможности преобразования.
- Выводится сообщение с просьбой ввести новый массив C.
- В каждой итерации цикла выводится значение элемента массива C, если его значение больше значения переменной imax.
- Если в массиве C есть элементы с разными значениями, устанавливается значение переменной imax.
- Программа завершается.