Вопрос задан 21.07.2023 в 04:51. Предмет Информатика. Спрашивает Леман Алёна.

В однородном массиве , состоящем из n вещественных элементов вычислить : 1. минимальный по модулю

элемент массива; 2. сумму модулей элементов массива , расположенных после первого элемента , равного нулю . Преобразовать массив таким образом , чтобы в первой его половине распологались элементы , стоящие в чётных позициях , а во второй половине - элементы , стоящие в нечётных позициях . Нужно сделать на языке Паскаль , срочно !!!
0 0
Перейти к ответам

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

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

var  

 arr: array [0..9] of real;

 newArr: array [0..9] of real;

 n : integer;

 i: integer;

 j: integer;

 k: integer;

 minAbs: real;

 sumAbs: real;

 

begin

 n := 10;

 

 for i:=0 to n-1 do

     arr[i] := i+1;

 

 writeln('Исходный массив: ');

 for i:=0 to n-1 do

     write(arr[i], ' ');

 

 minAbs := arr[0];

 

 j := 0;

 k := n div 2;

 

 for i:=0 to n-1 do

   begin

     if (i > 0) and (Abs(arr[i]) < minAbs) then

       minAbs := arr[i];

     

     sumAbs := sumAbs + Abs(arr[i]);

     

     if i mod 2 = 0 then

       begin

         newArr[j] := arr[i];

         j := j + 1;

       end

     else

       begin

         newArr[k] := arr[i];

         k := k + 1;

       end;

     

   end;

 

 writeln();

 writeln();

 

 writeln('Минимальный по модулю: ', minAbs);

 writeln('Сумма модулей: ', sumAbs);

 

 writeln('Преобразованный массив: ');

 for i:=0 to n-1 do

     write(newArr[i], ' ');

   

end.

 

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

Для решения задачи на языке Паскаль, вам понадобится объявить массив, заполнить его значениями, а затем выполнить необходимые вычисления и преобразования. Вот пример кода для решения задачи:

pascal
program ArrayManipulation; const MaxSize = 100; type RealArray = array[1..MaxSize] of Real; var arr: RealArray; n, i, firstZeroIndex: Integer; minAbsValue, sumAfterZero: Real; // Функция для вычисления модуля числа function AbsValue(x: Real): Real; begin if x >= 0 then AbsValue := x else AbsValue := -x; end; begin // Ввод размера массива Write('Введите размер массива (не более ', MaxSize, '): '); ReadLn(n); // Ввод элементов массива WriteLn('Введите ', n, ' вещественных чисел:'); for i := 1 to n do ReadLn(arr[i]); // Инициализация переменных для поиска минимального по модулю элемента и суммы после первого нулевого элемента minAbsValue := AbsValue(arr[1]); sumAfterZero := 0; firstZeroIndex := 0; // Вычисление минимального по модулю элемента и суммы после первого нулевого элемента for i := 1 to n do begin if AbsValue(arr[i]) < minAbsValue then minAbsValue := AbsValue(arr[i]); if (firstZeroIndex > 0) and (i > firstZeroIndex) then sumAfterZero := sumAfterZero + AbsValue(arr[i]); if (arr[i] = 0) and (firstZeroIndex = 0) then firstZeroIndex := i; end; // Вывод результатов вычислений WriteLn('Минимальный по модулю элемент массива: ', minAbsValue); WriteLn('Сумма модулей элементов массива, расположенных после первого нулевого элемента: ', sumAfterZero); // Преобразование массива for i := 1 to n div 2 do begin // Обмен элементов в чётных позициях с элементами в нечётных позициях arr[i] := arr[i * 2]; arr[n div 2 + i] := arr[i * 2 - 1]; end; // Вывод преобразованного массива WriteLn('Преобразованный массив:'); for i := 1 to n do WriteLn(arr[i]); end.

Обратите внимание, что данный код предполагает, что пользователь введет корректные значения, и не производит проверок на ошибки ввода для простоты и наглядности примера. В реальных программах рекомендуется добавить проверки на корректность ввода и дополнительную обработку возможных ошибок.

0 0

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

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

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

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