Вопрос по информатике:
Дан одномерный массив A[n]. Найти сумму отрицательных элементов. Получить новый массив B[n] путем замены нулевых элементов на полученную сумму.
pascal
- 09.10.2015 17:23
- Информатика
- remove_red_eye 8647
- thumb_up 33
Ответы и объяснения 2
n=10;
var
A: array[1..n] of integer;
B:array[1..n] of integer;
i: integer;
sum: integer;
begin
{Заполнение массивов случайными числами}
randomize;
for i:=1 to n do begin
A[i]:=random(100)-50;
B[i]:=random(100)-50; {или B[i]=A[i];, если значения массива B должны совпадать со значениями массива A }
end;
{Поиск суммы отрицательных элементов}
sum:=0;
for i:=1 to n do
if A[i]<0 then sum:=sum+A[i];
{Замена нулевых элементов массива B на полученную сумму}
for i:=1 to n do
if B[i]=0 then B[i]:=sum;
{Вывод значений массива A}
writeln('массив A');
for i:=1 to n do
write(A[i],',');
writeln('');
writeln('Массив B');
{Вывод значений массива B}
for i:=1 to n do
write(B[i],',');
{Ожидание нажатия клавиши return от пользователя.}
readln;
end.
- 01.01.1970 00:00
- thumb_up 25
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;
var s:=a.Where(x->x<0).Sum; // сумма отрицательных элементов
var b:=a.Select(x->x=0?s:x).ToArray; b.Println
end.
Пример
n= 20
1 6 2 4 2 3 5 -8 2 -6 0 1 -7 0 -7 8 -4 -8 -1 -8
1 6 2 4 2 3 5 -8 2 -6 -49 1 -7 -49 -7 8 -4 -8 -1 -8
- 01.01.1970 00:00
- thumb_up 50
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.