Вопрос задан 29.09.2023 в 17:23. Предмет Информатика. Спрашивает Федів Антон.

Напишите программу на PascalABC.net В одномерном массиве, состоящем из n элементов, вычислить: -

сумму элементов массива, расположенных между первым и вторым положительными элементами; Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Лебединец Снежана.

##

var n := ReadInteger;

var a := ArrRandom(n, -9, 9);

a.Println;

var v := a.Indices(t -> t > 0).ToArray;

a[v[0] + 1:v[1]].Sum.Println; // сумма

a := (a.Where(t -> t <> 0) + a.Where(t -> t = 0)).ToArray;

a.Print


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

Для решения этой задачи на PascalABC.NET вы можете воспользоваться следующей программой:

pascal
program ArrayManipulation; var n, i, firstPositive, secondPositive: integer; sum: real; arr: array of real; begin Write('Введите размер массива n: '); Readln(n); // Инициализируем массив SetLength(arr, n); // Заполняем массив for i := 0 to n - 1 do begin Write('Введите элемент arr[', i, ']: '); Readln(arr[i]); end; firstPositive := -1; secondPositive := -1; sum := 0; // Ищем первое и второе положительные элементы for i := 0 to n - 1 do begin if arr[i] > 0 then begin if firstPositive = -1 then firstPositive := i else if secondPositive = -1 then secondPositive := i; end; // Вычисляем сумму элементов между первым и вторым положительными элементами if (firstPositive <> -1) and (secondPositive = -1) then sum := sum + arr[i]; end; // Преобразуем массив так, чтобы нули были после всех остальных элементов for i := 0 to n - 1 do begin if arr[i] <> 0 then Write(arr[i]:8:2); end; for i := 0 to n - 1 do begin if arr[i] = 0 then Write(arr[i]:8:2); end; writeln; writeln('Сумма элементов между первым и вторым положительными элементами: ', sum:8:2); end.

Эта программа сначала запрашивает размер массива и элементы массива от пользователя. Затем она находит первый и второй положительные элементы и вычисляет сумму элементов между ними. Наконец, она переупорядочивает элементы массива так, чтобы нули были после всех остальных элементов и выводит результаты на экран.

0 0

Похожие вопросы

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

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

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