Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2007, 18:22   #1
евгения,
Пользователь
 
Регистрация: 25.05.2007
Сообщений: 13
Вопрос матрица

доброе время суток.
подскажите в чем ошибка.
1) Дана действительная квадратная матрица порядка 2n. Получить новую матриц, переставляя её блоки размера n*n. (по диагонали)

Program MATRISA;
const n=4;
var i,j: integer;
B :real;
A:ARRAY [1..n, 1..n] of integer;
Begin
for i:=1 to n do
for i:=1 to n do Begin
write ('A(',i,', ',j,')=');
read (A[i,j]);
end;
writeln('matrica A');
for i:=0 to 2*n-1 do
for j:=0 to 2*n-1 do
B:=([(i+n) mod 2*n]),[(j+n)mod 2*n]=A[i,j];
write (B[i,j]);
writeln;
end;
end.
евгения, вне форума Ответить с цитированием
Старый 03.06.2007, 19:59   #2
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Что-то непонятны строки
B:=([(i+n) mod 2*n]),[(j+n)mod 2*n]=A[i,j];
write (B[i,j]);

В первой вообще неясно что написано, а во второй переменная B типа Real используется как массив.
Jeni вне форума Ответить с цитированием
Старый 04.06.2007, 09:19   #3
Трофимов Александр
Форумчанин
 
Аватар для Трофимов Александр
 
Регистрация: 03.11.2006
Сообщений: 321
По умолчанию

Извини проверить не на чем, но что-то типа того:
Program matritza;
const
n=4;
var
i,j:integer;
a:array[1..2*n,1..2*n] of integer;
p:integer;
begin
//ввод
for i:=1 to 2*n do
begin
for j:=1 to 2*n do
begin
read(a[i,j]);
write(' ');
end;
writeln;
end;
// изменения блоков
for i:=1 to n do
for j:=i to n do
begin
// блок 1
p:=a[j,i];
a[j,i]:=a[i,j];
a[i,j]:=p;
//блок 2
p:=a[j+n,i];
a[j+n,i]:=a[i+n,j];
a[i+n,j]:=p;
//блок 3
p:=a[j,i+n];
a[j,i+n]:=a[i,j+n];
a[i,j+n]:=p;
//блок 4
p:=a[j+n,i+n];
a[j+n,i+n]:=a[i+n,j+n];
a[i+n,j+n]:=p;
end;
//вывод
for i:=1 to 2*n do
begin
for j:=1 to 2*n do
write(a[i,j],' ');
writeln;
end;
end.
Трофимов Александр вне форума Ответить с цитированием
Старый 04.06.2007, 20:31   #4
евгения,
Пользователь
 
Регистрация: 25.05.2007
Сообщений: 13
По умолчанию

спасибо за помощь
евгения, вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрица Droid Общие вопросы Delphi 7 06.05.2008 20:14
Матрица =( Gwynbleidd Помощь студентам 3 16.12.2007 23:20
Матрица Cartman18 Помощь студентам 4 13.12.2007 19:49
Матрица Lima Паскаль, Turbo Pascal, PascalABC.NET 3 08.12.2006 01:01