Вопрос задан 26.07.2023 в 06:27. Предмет Информатика. Спрашивает Петросян Артём.

Напишите программу на паскале найти минимальный элемент массива заменить все элементы массива до

минимального средним арифметическим элементов массива
0 0
Перейти к ответам

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

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

PascalABC.NET 3.4.2, сборка 1857 от 05.11.2018

Внимание! Если программа не работает, обновите версию!

begin

 var a := SeqRandomReal(ReadInteger('n='), -10, 10)

     .Select(t -> real(Round(t, 2))).ToArray;

 a.Println;

 var (imin, avg) := (a.IndexMin, a.Average);

 a := a.Select((v, i)-> i < imin ? avg : a[i]).ToArray;

 a.Println

end.


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

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

  1. Найти минимальный элемент массива.
  2. Вычислить среднее арифметическое всех элементов массива.
  3. Заменить все элементы массива до минимального значения на среднее арифметическое.

Вот пример программы на Pascal, реализующей указанные шаги:

pascal
program MinToMeanReplace; const MAX_SIZE = 100; // Максимальный размер массива type TArray = array[1..MAX_SIZE] of Integer; var arr: TArray; n, i, minValue, sum: Integer; mean: Real; procedure ReadArray(var arr: TArray; n: Integer); var i: Integer; begin for i := 1 to n do begin Write('Введите элемент массива arr[', i, ']: '); ReadLn(arr[i]); end; end; procedure FindMinValue(var arr: TArray; n: Integer; var minValue: Integer); var i: Integer; begin minValue := arr[1]; // Пусть первый элемент будет минимальным for i := 2 to n do begin if arr[i] < minValue then minValue := arr[i]; end; end; function CalculateMean(var arr: TArray; n: Integer): Real; var i: Integer; sum: Integer; begin sum := 0; for i := 1 to n do sum := sum + arr[i]; CalculateMean := sum / n; end; procedure ReplaceWithMean(var arr: TArray; n, minIndex: Integer; mean: Real); var i: Integer; begin for i := 1 to minIndex - 1 do arr[i] := Round(mean); // Округляем среднее арифметическое до целого значения end; procedure PrintArray(arr: TArray; n: Integer); var i: Integer; begin for i := 1 to n do Write(arr[i], ' '); WriteLn; end; begin Write('Введите размер массива (не более ', MAX_SIZE, '): '); ReadLn(n); if (n < 1) or (n > MAX_SIZE) then begin WriteLn('Некорректный размер массива.'); Exit; end; ReadArray(arr, n); FindMinValue(arr, n, minValue); mean := CalculateMean(arr, n); ReplaceWithMean(arr, n, minValue, mean); WriteLn('Массив после замены:'); PrintArray(arr, n); end.

Программа попросит вас ввести размер массива и его элементы. Затем она найдет минимальный элемент, вычислит среднее арифметическое и заменит все элементы до минимального значения на это среднее арифметическое. Результат будет выведен на экран.

0 0

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

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

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

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