задача-матрица размещена в одномерном массиве по строкам.поменять местами k-ый и 1ый столбцы матрицы (к и 1 заданы). результат напечатать по строкам.
указание-k-ый столбец матрицы расположен в одномерном массиве в элементах с индексами-- ((i-1)*m+k)го,
i=1..n
не могу я записать это так как надо. только месяц еще его изучаем. а я болела. буду признательна в оказанной помощи.(я согласно с правилами смотрела в поиске нет ли похожего,но нашла то что не похоже)
Вот, примерно так:
var
a: array[1..n*m]of tElement;
...
for i:=1 to n do begin
b:=a[(i-1)*m+1];
a[(i-1)*m+1]:=a[(i-1)*m+1];
a[(i-1)*m+k]:=b
end;
я очень благодарна. спасибо огромное.
program lab_9;
const n=10;k=5;
m=9;
var a:array[1..n*m]of integer;
b,j,t,i: integer;
begin
randomize;
for i:=1 to n*m do begin
a[i]:=random(20)-10;
write(a[i],' '0;
end; writeln;
for i:=1 to n*m do begin
b:=a[(i-1)*m+1]:
a[(i-1)*m+1]:=a[(i-1)*m+1];
a[(i-1)*m+k]:=b;
end;
for i:=1 to n do begin
write(a[i],' ');
end;
readln;
end.
program lab_9;
const
n = 10;
m = 9;
k = 5;
var
a: array[1 .. n*m] of integer;
b, j, t, i: integer;
begin
randomize;
for i := 1 to n*m do begin
a[i]:=random(20)-10;
write(a[i]:4);
if i mod n = 0 then writeln;
end;
writeln;
for i:=1 to m do begin
b:=a[(i-1)*n+1];
a[(i-1)*n+1]:=a[(i-1)*n+k];
a[(i-1)*n+k]:=b;
end;
for i:=1 to n*m do begin
write(a[i]:4);
if i mod n = 0 then writeln;
end;
readln;
end.
^^
я стараться буду форматировать.
а н и м по условию с клавиатуры вводятся. ну в любом случае все верно будет при любых н и м.я думаю.
if i mod n = 0 then writeln;
end;
^
||
вот этой штуки мне очень не хватало))спасибо)
Дан двухмерный массив (1..3,1..3) поменять местами строку и столбец проходящие через максимальный элемент.