
Преобразовать два заданных массива, увеличивая их соответствующие элементы на большее из
рассматриваемой каждый раз пары чисел. В первом из полученных массивов найти среднее арифметическое, во втором – максимальный и минимальный элементы. В Pascal.

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

PascalABC.NET 3.4.2, сборка 1843 от 24.10.2018
begin
var (a, b) := (ArrRandom, ArrRandom);
Println('Исходные массивы: '); a.Println; b.Println; Println;
var m := a.Zip(b, (x, y)-> max(x, y)).ToArray;
Println('Конечные массивы: ');
a := a.Select((t, i)-> t + m[i]).ToArray; a.Println;
b := b.Select((t, i)-> t + m[i]).ToArray; b.Println;
Println($'{NewLine}Сред. арифм. = {a.Average}');
Println($'Минимальный = {b.Min}{NewLine}Максимальный = {b.Max}');
end.
Пример вывода в приложении.




Для преобразования и обработки массивов в Pascal, мы можем использовать следующий код. Предполагается, что у нас есть два заданных массива arr1
и arr2
, и мы хотим выполнить указанные преобразования и находить требуемые значения.
pascalprogram ArrayTransformation; const N = 5; // Размер массивов - можно изменить по необходимости type IntArray = array[1..N] of Integer; var arr1, arr2: IntArray; transformedArr1, transformedArr2: IntArray; i, maxElement, minElement, sum: Integer; average: Real; // Процедура для преобразования массивов и нахождения максимального и минимального элементов procedure TransformAndFindMinMax(const a, b: IntArray; var res1, res2: IntArray); var i: Integer; begin for i := 1 to N do begin // Преобразование массивов res1[i] := a[i] + Max(a[i], b[i]); res2[i] := b[i] + Max(a[i], b[i]); end; end; begin // Инициализация массивов (можно изменить значения по своему усмотрению) arr1 := (1, 4, 3, 8, 6); arr2 := (7, 2, 5, 9, 10); // Вызов процедуры для преобразования массивов и нахождения максимального и минимального элементов TransformAndFindMinMax(arr1, arr2, transformedArr1, transformedArr2); // Нахождение среднего арифметического массива transformedArr1 sum := 0; for i := 1 to N do sum := sum + transformedArr1[i]; average := sum / N; // Нахождение максимального и минимального элементов массива transformedArr2 maxElement := transformedArr2[1]; minElement := transformedArr2[1]; for i := 2 to N do begin if transformedArr2[i] > maxElement then maxElement := transformedArr2[i]; if transformedArr2[i] < minElement then minElement := transformedArr2[i]; end; // Вывод результатов writeln('Исходный массив arr1: ', arr1); writeln('Исходный массив arr2: ', arr2); writeln('Преобразованный массив 1: ', transformedArr1); writeln('Преобразованный массив 2: ', transformedArr2); writeln('Среднее арифметическое transformedArr1: ', average:0:2); writeln('Максимальный элемент transformedArr2: ', maxElement); writeln('Минимальный элемент transformedArr2: ', minElement); end.
Обратите внимание, что в данном примере размер массивов N
равен 5, но вы можете изменить его на необходимое значение. Также предполагается, что размеры обоих массивов arr1
и arr2
одинаковы, чтобы выполнять операции над соответствующими элементами. Вывод будет содержать исходные массивы, преобразованные массивы, среднее арифметическое и максимальный/минимальный элементы второго преобразованного массива.


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









Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili