Консультация № 197011
09.11.2019, 08:35
0.00 руб.
0 1 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:

15. Дан массив, состоящий из NХM элементов, значения которого вводится с клавиатуры. Поменять местами k1 и k2 столбцы. через процедуры

Приложение:
pascal

Обсуждение

давно
Профессор
401888
1232
09.11.2019, 11:30
общий
это ответ
Здравствуйте, bodya!
[code lang=pascal]type mtr=array[1..10,1..10] of integer;
procedure vvod(var a:mtr;var n,m:integer);
var i,j:integer;
begin
repeat
writeln('Введите количество строк и столбцов от 2 до 10');
readln(n,m);
until(n in [2..10])and(m in [2..10]);
for i:=1 to n do
for j:=1 to m do
a[i,j]:=10+random(90);
end;
procedure print(a:mtr;n,m:integer;s:string);
var i,j:integer;
begin
writeln(s);
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:3);
writeln;
end;
end;
procedure obmen(var a:mtr;n,m,k1,k2:integer);
var i,x:integer;
begin
for i:=1 to n do
begin
x:=a[i,k1];
a[i,k1]:=a[i,k2];
a[i,k2]:=x;
end;
end;
var a:mtr;
m,n,k1,k2:integer;
begin
randomize;
vvod(a,n,m);
print(a,n,m,'Исходная матрица');
repeat
writeln('Введите номера столбцов для обмена от 1 до ',m,' k1<>k2');
readln(k1,k2);
until(k1 in [1..m])and(k2 in [1..m])and(k1<>k2);
obmen(a,n,m,k1,k2);
print(a,n,m,'Обмен столбцов '+inttostr(k1)+' и '+inttostr(k2));
end.[/code]
5
Форма ответа