Вычислить среднее арифметическое кодов элементов главной диагонали символьной матрицы - 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.

Объяснение кода листинга программы

  1. Объявлены типы данных: массив символов для хранения матрицы и целочисленные переменные для индексов и счетчиков.
  2. Введен основной массив символов A размером 30x30, инициализированный пустыми символами.
  3. Введен блок кода для сортировки матрицы по возрастанию символов в главной диагонали.
  4. Введена функция вычисления среднего арифметического элементов главной диагонали матрицы.
  5. Введен блок кода для считывания количества строк и столбцов матрицы от пользователя.
  6. Введен блок кода для вывода матрицы на экран.
  7. Выполняется сортировка матрицы по возрастанию символов в главной диагонали.
  8. Вычисляется среднее арифметическое элементов главной диагонали матрицы.
  9. Выводится среднее арифметическое элементов главной диагонали матрицы.

Оцени полезность:

14   голосов , оценка 3.5 из 5
Похожие ответы