Вопрос задан 20.09.2018 в 01:41. Предмет Информатика. Спрашивает Зиновчик Арсений.

Дан одномерный массив A[n]. Найти сумму отрицательных элементов. Получить новый массив B[n] путем

замены нулевых элементов на полученную сумму. pascal
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Евстифеева Катенька.
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]<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.
0 0
Отвечает Дорофеев Олег.
// PascalABC.NET 3.2, сборка 1509 от 27.07.2017
// Внимание! Если программа не работает, обновите версию!

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

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Я могу помочь вам с вашим заданием по программированию на языке Pascal. Вот возможный алгоритм и код для решения вашей задачи:

- Алгоритм: 1. Объявить и инициализировать переменные: массив A[n], массив B[n], сумма S, счетчик i. 2. Присвоить S значение 0. 3. Для i от 1 до n выполнить следующие действия: - Считать элемент A[i] из входных данных. - Если A[i] < 0, то увеличить S на A[i]. - Присвоить B[i] значение A[i]. 4. Для i от 1 до n выполнить следующие действия: - Если B[i] = 0, то присвоить B[i] значение S. - Вывести элемент B[i] на экран. - Код:

```pascal program SumAndReplace; var A, B: array[1..100] of integer; S, i, n: integer; begin readln(n); // ввод размера массива S := 0; // инициализация суммы for i := 1 to n do begin read(A[i]); // ввод элемента массива A if A[i] < 0 then // если элемент отрицательный S := S + A[i]; // увеличить сумму на его значение B[i] := A[i]; // скопировать элемент в массив B end; for i := 1 to n do begin if B[i] = 0 then // если элемент равен нулю B[i] := S; // заменить его на сумму write(B[i], ' '); // вывод элемента массива B end; writeln; end. ```

Надеюсь, это поможет вам понять, как решить вашу задачу. Удачи!

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос