Консультация № 181607
25.12.2010, 20:31
0.00 руб.
0 3 1
Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос:

Дана действительная квадратная матрица порядка 2n.
Получить новую матрицу, переставляя ее блоки размера nXn:

Обсуждение

Неизвестный
25.12.2010, 21:21
общий
Здравствуйте. Я готов взяться за задачу, но ответ будет дан лишь завтра в обед. Я сейчас дома и набирать код на кпк слишком утомительно:)
Неизвестный
25.12.2010, 21:53
общий
спасибо, я не спешу
Неизвестный
25.12.2010, 23:39
общий
это ответ
Здравствуйте, Анна!
Ниже приводится решение на TP7.0
Код:
{
Дана действительная квадратная матрица порядка 2n.
Получить новую матрицу, переставляя ее блоки размера nXn:
}
uses
crt;
const
N = 3;
var
ar: array[1..2*N, 1..2*N] of real;
i, j, k: byte;
tmp: real;
begin
clrscr;
randomize;
writeln('Source array (', 2*N, 'x', 2*N, '):');
for i:=1 to 2*N do begin
for j:=1 to 2*N do begin
ar[i, j] := 10*i+j; {100*random();}
write(ar[i, j]:8:2);
end;
writeln;
end;

for i:=1 to N do begin
for j:=1 to 2*N do begin
tmp := ar[i, j];
if (j > N) then begin
k := j - N;
end else begin
k := N + j;
end;
ar[i, j] := ar[N+i, k];
ar[N+i, k] := tmp;
end;
end;

writeln;
writeln('Result array:');
for i:=1 to 2*N do begin
for j:=1 to 2*N do begin
write(ar[i, j]:8:2);
end;
writeln;
end;
writeln;
writeln('Done. Press any key...');
readkey;
end.
Форма ответа