Поменять местами 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.
Объяснение кода листинга программы
- Программа использует язык программирования Free Pascal.
- В начале программы объявлены переменные:
- a: массив размером [1..nmax,1..nmax] для хранения элементов матрицы.
- m, n, i, j, k, r: byte для хранения количества строк, столбцов и номеров столбцов.
- x: real для временного хранения значения элемента матрицы.
- После открытия главного цикла программы, который повторяется до тех пор, пока пользователь не введет корректные значения для количества строк и столбцов, выводится сообщение с просьбой ввести количество строк и столбцов.
- После получения корректных значений для количества строк и столбцов, выводится сообщение
Исходная матрица:
и построчно выводятся значения элементов матрицы. - После открытия вложенного цикла программы, который повторяется до тех пор, пока пользователь не введет корректные номера столбцов, выводится сообщение с просьбой ввести номер первого столбца.
- После получения корректного значения для номера первого столбца, выводится сообщение с просьбой ввести номер второго столбца.
- После получения корректного значения для номера второго столбца, производится обмен значений столбцов по указанным номерам.
- После обмена значений столбцов, выводится сообщение
Обмен столбцов
..(k).и
..(r)..` и снова выводятся значения элементов матрицы. - После закрытия вложенного цикла программы, пользователю предлагается ввести любое значение для продолжения работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д