![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 25.05.2007
Сообщений: 13
|
![]()
Дана действительная квадратная матрица порядка 2n. Получить новую матриц, переставляя её блоки размера n*n по диагонали слева на право. пример
1-2 должно получиться 4-2 3-4 3-1 у меня в программе меняет все блоки . как исправить ошибку. Program MATRISA; const n=4; var i,j : integer; A, B : ARRAY [1..2*n, 1..2*n] of integer; Begin writeln('matrica A'); for i:=1 to 2*n do for i:=1 to 2*n do Begin write ('A(',i,', ',j,')='); read (A[i,j]); end; for i:=1 to 2*n do for j:=1 to 2*n do B[(i+n - 1) mod (2*n) + 1, (j+n - 1) mod (2*n) + 1] := A[i,j]; writeln('matrica B'); for i:=1 to 2*n do begin for j:=1 to 2*n do write(B[i,j]); writeln; end; end. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 321
|
![]()
Попробуй заменить блок :
for i:=1 to 2*n do for j:=1 to 2*n do B[(i+n - 1) mod (2*n) + 1, (j+n - 1) mod (2*n) + 1] := A[i,j]; на: for i:=1 to n do for j:=1 to n do begin B[n+i,n+j]:=A[i,j];//в 4-й записываем 1 B[i,j]:=A[n+i,n+j];//в 1-й записываем 4 B[n+i,j]:=A[n+i,j];//в 3-й записываем 3 B[i,n+j]:=A[i,n+j];//в 2-й записываем 2-й end; |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
матрица {C++} | Влдислаав3911 | Помощь студентам | 1 | 28.05.2008 02:36 |
Матрица | Droid | Общие вопросы Delphi | 7 | 06.05.2008 20:14 |
матрица | евгения, | Помощь студентам | 3 | 04.06.2007 20:31 |
матрица | m4tr1x2222 | Общие вопросы C/C++ | 3 | 16.05.2007 08:07 |