Проверить, является матрица симметрической |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Проверить, является матрица симметрической |
Barbudo |
Сообщение
#1
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: ламо Репутация: 0 |
Задание:
матрица D(15,15). Проверить, является ли она симметрической. Вывести на экран соответствующее сообщение. как я понел нужно доказать чтоб в этой матрице первый и последний столбец были равны второй с начала и второй с конца тоже равны, третий третиму с конца, четыёртый четвёртому с конца, всё относительно цента - тоесть 8 столбца. хоть на рандоме получить такую матрицу нереально, но всёравно как это написать?( ну или можно относительно других элементов это доказать. Сообщение отредактировано: Barbudo - |
klem4 |
Сообщение
#2
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Цитата хоть на рандоме получить такую матрицу нереально, Очень даже реально. проверка, является ли матрица симметричной относительно средней строки: Идешь по строкам от 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";'
|
Barbudo |
Сообщение
#3
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: ламо Репутация: 0 |
Очень даже реально. проверка, является ли матрица симметричной относительно средней строки: Идешь по строкам от 1 до n div 2, и по столбцам от 1 до m и смотришь если X[i, j] <> X[n - i + 1, j]то циклы прекращаются, матрица не симметрична. можно поподробнее код с циклами бы, а то я не представляю как это замутить а то так мне не очень понятно |
мисс_граффити |
Сообщение
#4
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Относительно центра - это не по заданию?...
Тогда вот, например (относительно побочной диагонали): проверка матрицы на симметричность -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Barbudo |
Сообщение
#5
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: ламо Репутация: 0 |
Относительно центра - это не по заданию?... Тогда вот, например (относительно побочной диагонали): проверка матрицы на симметричность ну можно сказать что по заданию нужно проверить, является ли матрица симметричной относительно среднего столбца ну вопрос открыт помогите это сделать Сообщение отредактировано: Barbudo - |
Barbudo |
Сообщение
#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]); хелп в чом трабла? Сообщение отредактировано: Barbudo - |
klem4 |
Сообщение
#7
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
const n = 5; -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Текстовая версия | 8.05.2024 13:18 |