Дан одномерный массив A[n]. Найти сумму отрицательных частей. Получить новый массив
Дан одномерный массив A[n]. Найти сумму отрицательных частей. Получить новый массив B[n] методом замены нулевых частей на полученную сумму.
pascal
2 ответа
Людмила
// PascalABC.NET 3.2, сборка 1509 от 27.07.2017
// Внимание! Если программка не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;
var s:=a.Where(x-gt;xlt;0).Sum; // сумма отрицательных частей
var b:=a.Select(x-gt;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
// Внимание! Если программка не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;
var s:=a.Where(x-gt;xlt;0).Sum; // сумма отрицательных частей
var b:=a.Select(x-gt;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
Антонина
Const
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]lt;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.
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]lt;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.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо
Разные вопросы.
Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных
Разные вопросы.
Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей
Математика.
Определить предложения какие они по цели высказывания и по интонации
Русский язык.
"Три толстяка" Называли эту площадь Площадью Звезды последующей причине.
Русский язык.
на одной грядке коротышки посадили 3 ряда морковок по 8 штук
Разные вопросы.
эссе на тему какое образование дается в каждой семье
Қазақ тiлi.
Put the verb in brackets into the Present Indefinite.
1The Volga ,
Английский язык.
Сколько стоит коктейль молочный? Точную цену надо?
Математика.
Составить рассказ Из чего складывался культ монарха помазанника Божьего?
История.
Облако тегов