Поменять местами k-ую и l-ую строки матрицы - PascalABC.NET

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

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

Матрица размещена в одномерном массиве по строкам. Поменять местами k-ую и l-ую строки матрицы(k и l заданы). Результат напечатать по строкам. То есть, k-ая строка матрицы расположена в одномерном массиве в элементах (( k-l)*m+1)-го до (k*m)-го.

Решение задачи: «Поменять местами k-ую и l-ую строки матрицы»

textual
Листинг программы
var
  b:array of integer;
  i,j,m,n,k,l:integer;
begin
  randomize;
  writeln('Введите размерность матрицы:');
  repeat  m:=readinteger('Число строк:'); until m>1;
  repeat  n:=readinteger('Число столбцов:'); until n>1;  
  writeln('Исходная матрица:');
  SetLength(b,m*n);
  k:=0;
  for i:=1 to m do begin
     write(i:5,'|' );
    for j:=1 to n do begin
       b[k]:=random(10);
       write(b[k]:4);
       k:=k+1;
    end;
    writeln;
  end;
   writeln(b);
   repeat 
     write('Введите номера строк, через пробел, которые нужно поменять местами:');
     readln(l,k);
   until (l in [1..m]) and (k in [1..m]);
   writeln('Полученная матрица:');
   for i:=0 to n-1 do swap(b[(k-1)*n+i],b[(l-1)*n+i]);
   writeln(b);
   k:=0;
  for i:=1 to m do begin
     write(i:5,'|' );
    for j:=1 to n do begin
       write(b[k]:4);
       k:=k+1;
    end;
    writeln;
  end;
  
end.

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

  1. Переменная b представляет собой одномерный массив целых чисел, который будет использоваться для хранения значений матрицы.
  2. Переменные i, j, m, n, k, l используются для управления циклами и индексации элементов матрицы.
  3. В начале программы пользователю предлагается ввести размерность матрицы.
  4. Затем выводится исходная матрица, заполненная случайными значениями.
  5. Пользователю предлагается ввести номера строк, которые необходимо поменять местами.
  6. Если введенные номера удовлетворяют условиям (принадлежат диапазону от 1 до размера матрицы), то происходит обмен строками.
  7. Выводится полученная матрица.
  8. Код повторяет вывод исходной матрицы для наглядности.

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

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