Автор: @^WARlock^@ 1.08.2006 16:55
Народ помогите решить задачку.
Квадратная матрица 2n состоит из 4 блоков. Надо написать программу которая формирует
новую матрицу, переставляя блоки исходной матрицы согласно схеме, приведенной ни же.
Эскизы прикрепленных изображений
Автор: Archon 1.08.2006 17:29
В простейшем случае это выглядит так:
Код
uses crt;
const
n = ...; {нужная размерность}
var
A, B : array [1..2*n, 1..2*n] of integer;
i, j : integer;
begin
... {инициализация массива A}
for j := 1 to n do
for i := 1 to n do
begin
B[i,j] := A[i,j+n];
B[i+n,j] := A[i,j];
B[i,j+n] := A[i+n,j+n];
B[i+n,j+n] := A[i+n,j];
end;
Writeln;
... {вывод массива B}
end.
Автор: volvo 1.08.2006 19:34
@^WARlock^@, тебе особое приглашение со ссылкой на правила что, в приват выслать? По другому не понимаешь?
Автор: @^WARlock^@ 2.08.2006 11:13
Цитата(volvo @ 1.08.2006 19:34)
@^WARlock^@, тебе особое приглашение со ссылкой на правила что, в приват выслать? По другому не понимаешь?
Ты о чем?Я связал две матрицы, но как поменять местами блоки ........ .
Выше приведенная прога не очень помогла.
Вот код моей проги:
Код
uses crt;
const
n=4;
var
a,b:array[1..2*n,1..2*n] of integer;
i,j:integer;
begin clrscr;
for i:=1 to n do
for j:=1 to n do
begin
write('a(',i,',',j,')=');
readln(a[i,j]);
end;
writeln;
writeln('Matrix a:');
writeln;
for i:=1 to n do
begin
for j:=1 to n do
write( a[i,j],' ');
writeln;
end;
writeln;
for i:=1 to n do
for j:=1 to n do
begin
b[i,j]:=a[i,j];
end;
writeln('Matrix b:');
writeln;
for i:=1 to n do
begin
for j:=1 to n do
write( b[i,j],' ');
writeln;
end;
readln;
end.
Автор: мисс_граффити 3.08.2006 0:37
Ты сможешь поменять местами элементы в матрице размера 2*2?
То есть сделать из
1 2
3 4
такую:
3 1
4 2
?
Если сможешь, то, считай, свою задачу решил. Если нет - в поиск.
Автор: klem4 10.08.2006 14:20
Цитата(@^WARlock^@)
Ты о чем?
О том что правила надо читать.
Цитата(RULES)
Запрещается :
1.11. выкладывать задачи в формате DOC (или других документов office). Разрешено или текст или графику.