Помогите!, вычислить определитель |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Помогите!, вычислить определитель |
Baby |
Сообщение
#1
|
Группа: Пользователи Сообщений: 1 Пол: Женский Репутация: 0 |
4 -2 0 1
-3 2 5 1 0 3 4 2 5 1-2 0 |
klem4 |
Сообщение
#2
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Цитата(Правила) 1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... FAQ : Массивы, матрицы ... ниже приведена программа, считающая определитель матрицы (рекурсия/приведение к диагональному виду) -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
Сообщение
#3
|
Гость |
Только вот конкретно для этой матрицы программа выдаст 0, ибо есть 0 на главной диагонали. Придется менять местами 2 строки, вычислять определитель, и умножать его на -1...
|
chubais |
Сообщение
#4
|
Группа: Пользователи Сообщений: 9 Пол: Мужской Реальное имя: Басков Репутация: 0 |
Можешь вуделить процедуру в отдельную прогу: работает.
Прикрепленные файлы Ramazanov.PAS ( 392 байт ) Кол-во скачиваний: 244 |
volvo |
Сообщение
#5
|
Гость |
Цитата работает. Оно, извини, даже не компилируется (тепепаты в отпуске)... Уж выкладываешь что-то, будь добр AA (это тип у тебя такой... Что бы он означал, интересно) тоже описывать. |
наёмнег |
Сообщение
#6
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
Посмотрел в FAQ прогу на вычисление определителя методом приведения к диагональному виду.
epsilon:=Е-10 что ето? Зачем и откуда взялось? |
volvo |
Сообщение
#7
|
Гость |
Не надо вопросы дублировать...
Это взялось потому, что нельзя (может быть потенциально опасно) сравнивать значения типа Real с нулем через операцию "=", нужно проверять "отклонение от нуля", это особенность машинного представления вещественных типов... В той программе автора устроила точность 10^(-6), т.е. одна стотысячная... Если отклонение от нуля МЕНЬШЕ - число считается равным нулю... Вот и все сложности... |
наёмнег |
Сообщение
#8
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
1E-10 как то не похоже на маленькое число, мож я чёт путаю е=2.7.... и ещё там MAXN=3, если поставить например 4 то есть матрицу порядка выше, будет работать или прога только для 3его порядка?
с 1E сам разобрался, ток не понял что эт за константа такая. А вот с порядком-нужна помощь! |
volvo |
Сообщение
#9
|
Гость |
Упс... там не 1Е-6, а 1Е-10, оказывается... Но это ничего не меняет, Е здесь обозначает НЕ основание натуральных логарифмов, а степень десятки... А ведь степень отрицательная, то есть, 1Е-10 означает 1 / (10^10), то есть, число не маленькое, а ОЧЕНЬ маленькое...
Программа будет работать для любого порядка, я прогонял ее при maxN = 6, все работало... |
мисс_граффити |
Сообщение
#10
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
это такая форма представления числа. аналогична 1*10 в минус десятой. то есть до Е идет мантисса, а после - степень 10, на которую надо умножить. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
наёмнег |
Сообщение
#11
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
Большое всем спасибо!
|
наёмнег |
Сообщение
#12
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
а слово exit в конце массива-это что, и можно ли заменить end-ом?
|
volvo |
Сообщение
#13
|
Гость |
Нет, нельзя... Exit немедленно выходит из подпрограммы, End у тебя там компилятор не пропустит...
А теперь у меня к тебе вопрос: не кажется ли тебе, что во-первых, влезть со своим вопросом в чужую тему, которой уже больше двух месяцев, да еще и поднимать ее постоянно вот такими вопросами (кстати, напрямую к "простым числам" вопрос об Exit совсем не относится) - это уже слишком? Не знаешь синтаксиса? У тебя что, F1 на клавиатуре заело? Или Help не установлен? В крайнем случае (если это совсем не описывается нигде - задавай вопрос в разделе Теоретические вопросы )... |
наёмнег |
Сообщение
#14
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
Лан, тогда по теме прога правильно работает только для порядка не выше3!
|
Текстовая версия | 13.10.2024 21:46 |