Программисту было поручено написать программу нахождения суммы
отрицательных элементов одномерного массива. Программист разработал
программу, но допустил в ней одну ошибку. Текст программы с ошибкой
представлен ниже:
program n1;
var
k, s: integer;
a: array [1..8] of integer;
begin
for k := 1 to 8 do readln(a[k]);
s := 0;
for k := 1 to 8 do
if a[k] < 0 then s := s + a[1];
writeln(s);
end.
1) Каким окажется ответ после исполнения этой программы, если в качестве
элементов массива будут введены числа 1, 2, 3, 4, -1, -2, -3, -4?
2) Как исправить программу, чтобы она решала поставленную перед
программистом задачу?
Ответы
Ответ дал:
3
Ответ:
1) В данной интерпретации программа 8 раз прибавляет в s первый элемент массива
Ответ: 8
2) Надо строку if a[k] < 0 then s := s + a[1];
Заменить на строку if a[k] < 0 then s := s + a[k];
Объяснение:
ya36na728:
Это правильный ответ?
Вас заинтересует
2 года назад
2 года назад
8 лет назад
8 лет назад
9 лет назад