Необходимо изменить в двумерном массиве столбцы с номерами i и j с помощью функции swap_columns() и вывести результат

Необходимо изменить в двумерном массиве столбцы с номерами i и j с помощью функции swap_columns() и вывести результат. Размеры массива, а также числа i и j задаются на вход программы. Воспользуйтесь Pascal для выполнения задания.
Луня

Луня

Хорошо, чтобы изменить столбцы в двумерном массиве с номерами i и j, нам потребуется использовать функцию swap_columns(). Вот пошаговое решение этой задачи на языке Pascal:

1. Начнем с объявления переменных и ввода данных от пользователя:

var
arr: array of array of integer;
n, m, i, j, a: integer;
begin
Write("Введите количество строк массива: ");
Readln(n);
Write("Введите количество столбцов массива: ");
Readln(m);

SetLength(arr, n, m);

// Ввод элементов массива
for i := 0 to n-1 do
begin
for j := 0 to m-1 do
begin
Write("Введите элемент arr[", i, "][", j, "]: ");
Readln(a);
arr[i][j] := a;
end;
end;

// Ввод номеров столбцов для обмена
Write("Введите номер первого столбца (i): ");
Readln(i);
Write("Введите номер второго столбца (j): ");
Readln(j);


2. Далее создадим функцию swap_columns(), которая будет менять столбцы в массиве:

procedure swap_columns(var arr: array of array of integer; i, j, n: integer);
var
k, temp: integer;
begin
for k := 0 to n-1 do
begin
temp := arr[k][i];
arr[k][i] := arr[k][j];
arr[k][j] := temp;
end;
end;


3. Теперь вызовем функцию swap_columns() и передадим ей массив arr, номера столбцов i и j:

swap_columns(arr, i, j, n);


4. Наконец, выведем результат измененного массива:

// Вывод измененного массива
WriteLn("Измененный массив:");
for i := 0 to n-1 do
begin
for j := 0 to m-1 do
begin
Write(arr[i][j], " ");
end;
WriteLn;
end;


Полный код программы выглядит так:

program SwapColumns;

var
arr: array of array of integer;
n, m, i, j, a: integer;

procedure swap_columns(var arr: array of array of integer; i, j, n: integer);
var
k, temp: integer;
begin
for k := 0 to n-1 do
begin
temp := arr[k][i];
arr[k][i] := arr[k][j];
arr[k][j] := temp;
end;
end;

begin
Write("Введите количество строк массива: ");
Readln(n);
Write("Введите количество столбцов массива: ");
Readln(m);

SetLength(arr, n, m);

// Ввод элементов массива
for i := 0 to n-1 do
begin
for j := 0 to m-1 do
begin
Write("Введите элемент arr[", i, "][", j, "]: ");
Readln(a);
arr[i][j] := a;
end;
end;

Write("Введите номер первого столбца (i): ");
Readln(i);
Write("Введите номер второго столбца (j): ");
Readln(j);

swap_columns(arr, i, j, n);

WriteLn("Измененный массив:");
for i := 0 to n-1 do
begin
for j := 0 to m-1 do
begin
Write(arr[i][j], " ");
end;
WriteLn;
end;

end.


Теперь вы можете скомпилировать и запустить эту программу на языке Pascal, чтобы изменить столбцы в двумерном массиве и вывести результат.
Знаешь ответ?
Задать вопрос
Привет!
hello