IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Проверить, является матрица симметрической
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 7
Пол: Мужской
Реальное имя: ламо

Репутация: -  0  +


Задание:
матрица D(15,15). Проверить, является ли она симметрической. Вывести на экран соответствующее сообщение.

как я понел нужно доказать чтоб в этой матрице первый и последний столбец были равны
второй с начала и второй с конца тоже равны, третий третиму с конца, четыёртый четвёртому с конца, всё относительно цента - тоесть 8 столбца.
хоть на рандоме получить такую матрицу нереально, но всёравно как это написать?(
ну или можно относительно других элементов это доказать.

Сообщение отредактировано: Barbudo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
хоть на рандоме получить такую матрицу нереально,


smile.gif Очень даже реально.

проверка, является ли матрица симметричной относительно средней строки:

Идешь по строкам от 1 до n div 2, и по столбцам от 1 до m и смотришь

если
X[i, j] <> X[n - i + 1, j]
то циклы прекращаются, матрица не симметрична.




--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 7
Пол: Мужской
Реальное имя: ламо

Репутация: -  0  +


Цитата(klem4 @ 28.05.2007 12:09) *

smile.gif Очень даже реально.

проверка, является ли матрица симметричной относительно средней строки:

Идешь по строкам от 1 до n div 2, и по столбцам от 1 до m и смотришь

если
X[i, j] <> X[n - i + 1, j]
то циклы прекращаются, матрица не симметрична.

можно поподробнее give_rose.gif
код с циклами бы, а то я не представляю как это замутить
а то так мне не очень понятно nea.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Относительно центра - это не по заданию?...
Тогда вот, например (относительно побочной диагонали): проверка матрицы на симметричность


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 7
Пол: Мужской
Реальное имя: ламо

Репутация: -  0  +


Цитата(мисс_граффити @ 28.05.2007 16:57) *

Относительно центра - это не по заданию?...
Тогда вот, например (относительно побочной диагонали): проверка матрицы на симметричность

ну можно сказать что по заданию нужно проверить, является ли матрица симметричной относительно среднего столбца give_rose.gif
ну вопрос открыт помогите это сделать give_rose.gif

Сообщение отредактировано: Barbudo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





Группа: Пользователи
Сообщений: 7
Пол: Мужской
Реальное имя: ламо

Репутация: -  0  +


вот помогли с кодом
Код

Prigram matr;

CONST

  N=15;

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.


но какаято ошибка, выдаёт - "invalid numeric format" напротив строчки
for j:=1 to 15 do readln(Matr[i,j]);

хелп в чом трабла? no1.gif

Сообщение отредактировано: Barbudo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


const n = 5;
type
TMatrix = array [1..n, 1..n] of Integer;

var
x: TMatrix = (
(1, 2, 3, 4, 5),
(5, 6, 7, 8, 9),
(1, 1, 1, 1, 1),
(5, 6, 7, 8, 9),
(1, 2, 3, 4, 5)
);

i, j: Integer;
ok: Boolean;

begin
ok := true;
i := 1;
while (i <= n div 2) and ok do begin
j := 1;
while (j <= n) and ok do begin
ok := x[i, j] = x[n - i + 1, j];
inc(j);
end;
inc(i);
end;

if ok then writeln('ok') else writeln('bad');
end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 22:36
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name