Поменять местами k-й и r-й столбцы матрицы A(N,M). Вывести полученную матрицу - Free Pascal

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

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

Обработать матрицу в соответствии с вариантом задания. Числовые значения элементов матрицы сгенерировать программы путем, учитывая, что элементы массива – действительные числа (если нет дополнительных ограничений). Допустимая размерность исходной матрицы – не менее 5 строк и 5 столбцов. Организовать вывод результатов выполнения задания и исходной матрицы в общепринятом виде, сопровождая его наименованиями величин и комментариями. Действия: Поменять местами k-й и r-й столбцы матрицы A(N,M). Вывести полученную матрицу.

Решение задачи: «Поменять местами k-й и r-й столбцы матрицы A(N,M). Вывести полученную матрицу»

textual
Листинг программы
uses crt;
const nmax=15;
var a:array[1..nmax,1..nmax] of real;
    m,n,i,j,k,r:byte;
    x:real;
begin
clrscr;
randomize;
repeat
write('Количество строк от 5 до ',nmax,' n=');
readln(n);
until n in [5..nmax];
repeat
write('Количество столбцов от 5 до ',nmax,' m=');
readln(m);
until m in [5..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    a[i,j]:=10*random;
    write(a[i,j]:5:2);
   end;
  writeln;
 end;
writeln;
repeat
write('Введите номер 1 столбца от 1 до ',m,' k=');
readln(k);
until k in [1..m];
repeat
write('Введите номер 2 столбца от 1 до ',m,' r<>',k,' r=');
readln(r);
until (r in [1..m])and(r<>k);
for i:=1 to n do
 begin
  x:=a[i,k];
  a[i,k]:=a[i,r];
  a[i,r]:=x
 end;
writeln('Обмен столбцов ',k,' и ',r);
for i:=1 to n do
 begin
  for j:=1 to m do
  write(a[i,j]:5:2);
  writeln
 end;
readln
end.

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

  1. Программа использует язык программирования Free Pascal.
  2. В начале программы объявлены переменные:
    • a: массив размером [1..nmax,1..nmax] для хранения элементов матрицы.
    • m, n, i, j, k, r: byte для хранения количества строк, столбцов и номеров столбцов.
    • x: real для временного хранения значения элемента матрицы.
  3. После открытия главного цикла программы, который повторяется до тех пор, пока пользователь не введет корректные значения для количества строк и столбцов, выводится сообщение с просьбой ввести количество строк и столбцов.
  4. После получения корректных значений для количества строк и столбцов, выводится сообщение Исходная матрица: и построчно выводятся значения элементов матрицы.
  5. После открытия вложенного цикла программы, который повторяется до тех пор, пока пользователь не введет корректные номера столбцов, выводится сообщение с просьбой ввести номер первого столбца.
  6. После получения корректного значения для номера первого столбца, выводится сообщение с просьбой ввести номер второго столбца.
  7. После получения корректного значения для номера второго столбца, производится обмен значений столбцов по указанным номерам.
  8. После обмена значений столбцов, выводится сообщение Обмен столбцов..(k).и..(r)..` и снова выводятся значения элементов матрицы.
  9. После закрытия вложенного цикла программы, пользователю предлагается ввести любое значение для продолжения работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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