В массиве из n элементов найти сумму положительных и произведение отрицательных элементов.
Karakulina:
Какой язык программирования?
паскаль АВС.NET
проходили динамические массивы?
версия и сборка нужна?
нет, не проходили
Сейчас сделаю, версия не важна.
Какой смысл в таком задании создавать статический..?
Ответы
Ответ дал:
0
Ответ:
- begin
- var a := ReadArrInteger(ReadInteger('N:'));
- Println('Сумма положительных:', a.Sum(x->x>0?x:0));
- Println('Произведение отрицательных:', a.Product(x->x<0?x:1));
- end.
Пример работы:
Приложения:
мы не проходили ReadArrInteger, и вместо print используем write и read
Лично я не так хорошо знаю паскаль, но мне нравятся такие краткие и лаконичные решения, однако в учебных заведениях требуют делать всё примитивнее.
"однако в учебных заведениях требуют делать всё примитивнее" -- во многих не требуют и во многих запрещают.
Поэтому оптимальным решением из этой ситуации я вижу лишь саморазвитие, если тема интересна. Потому что иначе есть риск остаться ни с чем.
Ответ дал:
0
===PascalABC.Net===
var
arr: array [1..100] of integer;
n, i, sum, multiply: integer;
begin
WriteLn('Программа находит сумму положительных и произведение отрицательных чисел в массиве.');
Write('Введите размерность массива: ');
ReadLn(n);
multiply := 1;
for i := 1 to n do
begin
Write('Введите ', i, ' элемент массива: ');
ReadLn(arr[i]);
end;
for i := 1 to n do
begin
if arr[i] >= 0 then
sum += arr[i]
else
multiply *= arr[i];
end;
WriteLn('Сумма положительных чисел: ', sum);
Write('Произведение отрицательных чисел: ', multiply);
end.
Приложения:
А += и *= проходили?))
Вас заинтересует
2 года назад
2 года назад
2 года назад
7 лет назад
7 лет назад
9 лет назад