37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
|
|
1 | |
Код вычисления определителя матрицы до 10-го порядка18.01.2014, 23:20. Показов 7830. Ответов 19
Метки нет (Все метки)
0
|
18.01.2014, 23:20 | |
Ответы с готовыми решениями:
19
Улучшение алгоритма вычисления определителя матрицы, порядка n>3 Составить приложение для вычисления определителя матрицы n-го порядка Вычислить определитель 4 порядка, используя метод треугольника для вычисления определителя 3 порядка Составить функцию для вычисления определителя третьего порядка |
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,238
|
|
18.01.2014, 23:23 | 2 |
Что уже сделали?
0
|
БНТУ ФИТР
215 / 155 / 42
Регистрация: 26.12.2012
Сообщений: 382
|
|
18.01.2014, 23:34 | 3 |
S_el, на форуме зарегистрировался же
0
|
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
|
||||||
18.01.2014, 23:58 [ТС] | 4 | |||||
Нашел такой код (извините за неправильное оформление - только осваиваюсь, обещаю исправиться):
0
|
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,238
|
|
19.01.2014, 00:14 | 5 |
И что это за код?
Может все-таки сами попробуете?
0
|
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
|
|
19.01.2014, 00:27 [ТС] | 6 |
Это код решения системы уравнений Методом Гаусса.
В программировании я новичок, осваиваю при помощи самоучителей и справочников (Лафоре, Страуструп, Андрианова А.А., Динман М.). Но освоить удалось пока не много, поэтому разбираю в основном на примерах.
0
|
19.01.2014, 03:29 | 7 |
Если вы изучаете самостоятельно, то советую взять книгу с упражнениями (Лафоре, например) и решать именно их.
Если вы взяли вашу задачу из какой-то книги, то посмотрите к какой главе она относится, чтобы понять, какой материал вам надо использовать и закреплять на этой задаче. Судя по условию n<=10 здесь имеется в виду использование рекурсии и разложение определителя по строке. Если вы берете код для образца, то не берите его из сомнительных источников. Разбирайте его только после того, как поймете идею алгоритма. Понять идею по описанию проще, чем понять ее по коду. Если вы хотите делать методом Гаусса, который вообще-то предназначен для решения систем, то можно не выполняь его до конца, а проводить только прямой ход, перемножая главные элементы. Произведение главных элементов и будет определителем с учетом того, что при каждой перестановке строк у определителя меняется знак. Добавлено через 1 час 7 минут Хотя может быть, это намек, что матрицу следует хранить в массиве с двумя индексами размером 10х10. В коде, который вы выложили, матрица хранится в массиве с одним индексом.
0
|
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
|
|
19.01.2014, 12:26 [ТС] | 8 |
Задача взята из моей контрольной работы, я учусь заочно на 1-м курсе,
начитка была всего 1 пара, где показали как включать VS C++2010, скомпилировали программу "Hello World", вручили контрольную работу, благословили и пустили в вольное плавание. Поэтому если встречали похожие примеры задач или литературу где встречалось похожее условие буду очень признателен.
0
|
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
|
|
19.01.2014, 13:04 [ТС] | 10 |
Да, решать матрицы я умею, с математикой у меня порядок, а в программировании профан.
0
|
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
|
||||||
19.01.2014, 23:45 [ТС] | 12 | |||||
Пока что это всё, до чего додумался.
Код предназначенный для заполнения матрицы пользователем, но скомпилировать не могу - появляется ошибка "Run-Time Check Failure #3 - The variable 'N' is being used without being initialized. - Переменная 'N' используется без инициализации." Вроде бы все переменные объявлены.
0
|
20.01.2014, 00:42 | 13 |
А причем здесь объявлены? Им не присвоено значение, а они должны быть использованы. Это криминал.
Кроме того, они используются в вычислении размера статического массива, поэтому должны быть константами. А почему вы используете две переменные? Для того, чтобы определитель мог быть вычислен, матрица должна быть квадратная, то есть M=N.
0
|
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
|
|
20.01.2014, 01:29 [ТС] | 14 |
Совершенно верно, для вычисления определителя, матрица должна быть квадратная, но в условии дано, что задана матрица mxn, таким образом допускается, что пользователь может ввести и не квадратную матрицу. Именно это я и хотел предотвратить используя условные операторы if/else.
P.s. Спасибо за замечания буду разбираться дальше.
0
|
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
|
|
20.01.2014, 01:46 [ТС] | 16 |
Да, извините, вы правы, я всё напутал, это из примеров.
Вот непосредственно условие задачи: написать программу для вычисления определителя матрицы заданного порядка (до 10-го).
0
|
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
|
|
20.01.2014, 01:56 [ТС] | 18 |
На форуме прочитал, будто код для вычисления определителя лучше реализовать через Метод Гаусса.
Лично мне удобнее всегда было пользоваться Правилом Саррюса, но можно ли воплотить его в код?
0
|
20.01.2014, 02:30 | 19 | |||||
Нашел у себя в загашнике метод Гаусса. Когда число правых частей m=0, то вычисляет определитель.
0
|
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
|
|
20.01.2014, 08:16 [ТС] | 20 |
Спасибо, сейчас буду разбираться.
0
|
20.01.2014, 08:16 | |
20.01.2014, 08:16 | |
Помогаю со студенческими работами здесь
20
Составить программный код для вычисления матрицы 5-го порядка Расчет определителя матрицы n-порядка Вычисление определителя матрицы 4-го порядка Вычисление определителя матрицы 3-го порядка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |