Переставить строки матрицы симметрично горизонтальной оси - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, ув. пользователи! Прошу у вас помощи с: Задано двумерный массив A размером NxM. Целые числа и элементы массива задать самостоятельно. Переставить строки матрицы A симметрично горизонтальной оси. Буду премного признателен! Спасибо за внимание 0/

Решение задачи: «Переставить строки матрицы симметрично горизонтальной оси»

textual
Листинг программы
uses Crt;
type Tmass=array[1..10,1..10] of integer;
var  a:Tmass;
     i,j,n,m,k,t:integer;
begin
     ClrScr;
      repeat
         Write('0 < N < 11 = ');
          Readln(n);
         Write('0 < M < 11 = ');
          Readln(m);
         Writeln;
      until (n>0) and (n<11) and (m>0) and (m<11);
      Writeln('Matrix A:');
       Writeln;
        Randomize;
      for i:=1 to n do
       begin
         for j:=1 to m do
          begin
            a[i,j]:=Random(51);
            Write(a[i,j]:4);
          end;
         Writeln;
       end;
        Writeln;
         Writeln;
      i:=1; k:=n;
       repeat
          for j:=1 to m do
           begin
             t:=a[i,j];
             a[i,j]:=a[k,j];
             a[k,j]:=t;
           end;
          Inc(i);
          Dec(k);
       until i>k;
      Writeln('Matrix A:');
       Writeln;
        for i:=1 to n do
         begin
           for j:=1 to m do
            Write(a[i,j]:4);
           Writeln;
         end;
     ReadKey;
end.

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

  1. Создается тип данных Tmass, который представляет собой массив целых чисел размером 10x10.
  2. Создается переменная a типа Tmass.
  3. Создаются переменные i, j, n, m, k, t, которые представляют собой индексы массива и счетчики для цикла.
  4. Выполняется итерация цикла до тех пор, пока условия (n>0) и (n<11) и (m>0) и (m<11) выполняются.
  5. Выводится сообщение Matrix A: и пробел.
  6. Инициализируется генератор случайных чисел.
  7. Для каждого i от 1 до n выполняется цикл.
  8. Внутри цикла для каждого j от 1 до m выполняется вложенный цикл.
  9. В каждой итерации вложенного цикла переменной t присваивается значение элемента массива a[i,j], а значениям a[i,j] и a[k,j] присваиваются значения переменной t.
  10. Индексы i и k изменяются с помощью операций Inc и Dec соответственно.
  11. После завершения вложенного цикла выводится сообщение Matrix A:.
  12. Цикл завершается, когда i становится больше k.
  13. Выводится последняя строка матрицы.

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

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