Страница 1 из 1
Turbo Pascal- матрица
Добавлено: 29 май 2007, 18:25
Barbudo
Задание:
Задана матрица D(15,15). Проверить, является ли она симметрической. Вывести на экран соответствующее сообщение.
________________________________________________________________________
Не ясно одно относительн очего она симметрическая, допустим относительно 8 столбца
пожалуйста помогите

Re: Turbo Pascal- матрица
Добавлено: 29 май 2007, 18:47
Ramzey
Симметричная она должна быть относительно главной диагонали, например:
1 2 3 4 5
2 1 3 4 5
3 3 1 4 5
4 4 4 1 5
5 5 5 5 1
Код: Выделить всё
CONST
N=4;
var
i,j : byte;
Matr : array [1..N,1..N] of integer;
BEGIN
for i:=1 to N do
for j:=1 to N do readln(Matr[i,j]);
for i:=1 to N do
begin
for j:=i to N do
if Matr[i][j]<>Matr[j][i] then
begin
writeln('ne simetrichnaj');
halt(0)
end;
end;
writeln('simetrichnaj');
END.
вроде так
Re: Turbo Pascal- матрица
Добавлено: 30 май 2007, 14:09
Barbudo
Ramzey писал(а):Симметричная она должна быть относительно главной диагонали, например:
1 2 3 4 5
2 1 3 4 5
3 3 1 4 5
4 4 4 1 5
5 5 5 5 1
вроде так
спасиба, но может какнить можно переделать в проверку, является ли
матрица симметричной относительно среднего столбца
(ну или средней строки):
прошу помогите

Re: Turbo Pascal- матрица
Добавлено: 30 май 2007, 15:23
Ramzey
Ну это еще проще с точки зрения понимания (или нет?):
Код: Выделить всё
CONST
N=4;
var
i,j : byte;
Matr : array [1..N,1..N] of integer;
BEGIN
for i:=1 to N do
for j:=1 to N do readln(Matr[i,j]);
for i:=1 to N do
begin
for j:=i to (N div 2) do
if Matr[i][j]<>Matr[i][N-j+1] then
begin
writeln('ne simetrichnaj');
halt(0)
end;
end;
writeln('simetrichnaj');
END.
Re: Turbo Pascal- матрица
Добавлено: 30 май 2007, 15:23
Ramzey
да, у тебя N=15 будет - по заданию.
Re: Turbo Pascal- матрица
Добавлено: 30 май 2007, 17:40
Barbudo
чото тут не так выдаёт ошибку - "invalid numeric format" напротив строчки
for j:=1 to 15 do readln(Matr[i,j]);
хелп

Re: Turbo Pascal- матрица
Добавлено: 31 май 2007, 09:23
somewhere
" писал(а):чото тут не так выдаёт ошибку - "invalid numeric format" напротив строчки
Нужно вводить целые числа в интервале от -32768 до 32767 по-одному
Re: Turbo Pascal- матрица
Добавлено: 01 июн 2007, 21:12
Barbudo
всем огромное спасибо за помощь, очень помогли!