
Помогите пожалуйста с задачкой по информатике в паскале!!! С клавиатуры вводятся две вещественные
матрицы (максимальная размерность 15x16). Составить одномерные массивы из средних значений элементов нечетных столбцов исходных массивов и упорядочить их по возрастанию.

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

// Внимание! Если программа не работает, обновите версию!
procedure Cheburek(s:string);
begin
var n:=ReadInteger('Количество строк в матрице:');
var m:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** ',s,' матрица [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var s1:='сортированный вектор ср.значений нечетных столбцов';
Writeln(s1);
a.Cols.Select(x->x.Average).Where((x,i)->i.IsEven).Sorted.Println;
Writeln(s1.Length*'-');
end;
begin
Cheburek('первая');
Cheburek('вторая');
end.
Пример
Количество строк в матрице: 4
Количество столбцов в массиве: 8
*** первая матрица [4,8] ***
98 -64 -30 84 -6 11 4 7
-45 23 55 47 67 87 70 -64
40 20 91 -27 -12 42 -49 10
-59 -79 5 -77 -59 -44 -4 -10
--------------------------------
сортированный вектор ср.значений нечетных столбцов
-2.5 5.25 8.5 30.25
--------------------------------------------------
Количество строк в матрице: 6
Количество столбцов в массиве: 11
*** вторая матрица [6,11] ***
-98 -40 -42 81 39 28 -3 -24 -33 79 13
22 26 -79 90 93 46 94 83 -1 -13 -18
-21 -44 85 60 43 -26 -94 -19 -34 99 -72
-35 46 8 30 88 -4 -87 -76 15 -94 9
-70 29 83 -79 -69 12 -24 -53 -27 96 -97
19 80 -98 96 79 84 -76 -29 85 14 14
--------------------------------------------
сортированный вектор ср.значений нечетных столбцов
-31.6666666666667 -30.5 -25.1666666666667 -7.16666666666667 0.833333333333333 45.5
--------------------------------------------------



Конечно, давайте решим эту задачу на языке Pascal. Первым делом, определим переменные и константы:
```pascal program AverageMatrix;
const MaxRows = 15; MaxCols = 16;
var matrix1, matrix2: array[1..MaxRows, 1..MaxCols] of real; averages: array[1..MaxCols div 2] of real; i, j, k: integer; temp: real; n: integer;
begin // Вводим размеры матрицы write('Введите количество строк (не более ', MaxRows, '): '); readln(n);
// Вводим элементы первой матрицы writeln('Введите элементы первой матрицы:'); for i := 1 to n do for j := 1 to n do begin write('matrix1[', i, ',', j, ']: '); readln(matrix1[i, j]); end;
// Вводим элементы второй матрицы writeln('Введите элементы второй матрицы:'); for i := 1 to n do for j := 1 to n do begin write('matrix2[', i, ',', j, ']: '); readln(matrix2[i, j]); end;
// Считаем средние значения элементов нечетных столбцов и записываем их в массив averages k := 0; for j := 1 to n do begin if j mod 2 <> 0 then begin temp := 0; for i := 1 to n do temp := temp + matrix1[i, j] + matrix2[i, j]; averages[k + 1] := temp / n; k := k + 1; end; end;
// Сортируем массив averages по возрастанию for i := 1 to k - 1 do for j := 1 to k - i do if averages[j] > averages[j + 1] then begin temp := averages[j]; averages[j] := averages[j + 1]; averages[j + 1] := temp; end;
// Выводим результаты writeln('Отсортированный массив средних значений:'); for i := 1 to k do write(averages[i]:8:2, ' ');
readln; end. ```
Эта программа запрашивает у пользователя количество строк матрицы, затем поочередно вводит элементы двух матриц. Затем она вычисляет средние значения элементов нечетных столбцов и записывает их в массив `averages`. После этого массив сортируется, и отсортированный массив выводится на экран.


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