Вычислить среднее арифметическое кодов элементов главной диагонали символьной матрицы - Pascal ABC
Формулировка задачи:
Дана матрица размерностью N´M, состоящая из латинских букв. Отсортировать каждую строку в алфавитном порядке (оформить в виде процедуры). Вычислить среднее арифметическое кодов элементов главной диагонали (оформить в виде функции). Записать в текстовый файл элементы первой строки матрицы.
Решение задачи: «Вычислить среднее арифметическое кодов элементов главной диагонали символьной матрицы»
textual
Листинг программы
type matrix = ARRAY[1..30, 1..30] OF CHAR; var A: matrix; N, M, I, J, K: INTEGER; procedure sort(var x: matrix; n, m: integer); var i, k, j: integer; TEMP: CHAR; begin for I := 1 TO n DO begin for K := 1 TO M - 1 DO for J := K TO M DO if x[I, K] > x[I, J] THEN begin TEMP := x[I, K]; x[I, K] := x[I, J]; x[I, J] := TEMP; end; end; end; function average(x: matrix; n: integer): real; var SUM: REAL; j, i: integer; begin SUM := 0; for I := 1 TO N DO for J := 1 TO M DO if I = J THEN SUM := SUM + ORD(x[I, J]); SUM := SUM / N; average := sum; end; begin WRITE('Vvedite kilishestvo strok N='); READLN(N); WRITE('Vvedite kolishestvo stolbsov M='); READLN(M); WRITELN('Vvedite ', N * M, ' Bukv'); for I := 1 TO N DO for J := 1 TO M DO READ(A[I, J]); sort(a, n, m); for I := 1 TO N DO begin for J := 1 TO M DO WRITE(A[I, J]); WRITELN; end; WRITELN('Srednee arifmetisheskoe kodov po glavnoi diagonali = ', average(a, n):6:2); end.
Объяснение кода листинга программы
- Объявлены типы данных: массив символов для хранения матрицы и целочисленные переменные для индексов и счетчиков.
- Введен основной массив символов A размером 30x30, инициализированный пустыми символами.
- Введен блок кода для сортировки матрицы по возрастанию символов в главной диагонали.
- Введена функция вычисления среднего арифметического элементов главной диагонали матрицы.
- Введен блок кода для считывания количества строк и столбцов матрицы от пользователя.
- Введен блок кода для вывода матрицы на экран.
- Выполняется сортировка матрицы по возрастанию символов в главной диагонали.
- Вычисляется среднее арифметическое элементов главной диагонали матрицы.
- Выводится среднее арифметическое элементов главной диагонали матрицы.