Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Нахождение обратной матрицы методом Гаусса и рассширенной матрицы

Ответить
Настройки темы
C/C++ - [решено] Нахождение обратной матрицы методом Гаусса и рассширенной матрицы

Аватара для D.Y.

Новый участник


Сообщения: 28
Благодарности: 5

Профиль | Отправить PM | Цитировать


Мне срочняк надо прогу нахождения обратной матрицы методом гаусса и при помощи расширенной матрицы я написал но она требует доработки а сдавать в среду
если у кого есть напишите пожалуйста заранее благодарен (иначе сессия продлится до сентября)
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:29, 22-06-2008

 

Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Luzuk,
Цитата Luzuk:
У меня только один вопрос, выложенные выше исходники (точней готовый проект) для какого компилятора? »
У меня такое и всё работает. Загляните в тему Помогите решить начните с сообщения №6, скорее всего, что это не совсем то, что надо, но тоже тема с матрицами и векторами.
Цитата Luzuk:
Программа поддерживает следующие операции над матрицами: сложение, вычитание, умножение, транспонирование и обращение. »
У меня программа отработала до возможности выбора действий, сложение, ..., ..., ..., обращение и закрывается... А так конечно работы проделано много и программа нужная.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 16:30, 18-09-2008 | #51



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для D.Y.

Новый участник


Сообщения: 28
Благодарности: 5

Профиль | Отправить PM | Цитировать


Моя программа писалась для Borland C++ Builder 6 а под вижуал я думаю вполне реально переделать там основное отличие в библиотеках.

Отправлено: 20:51, 18-09-2008 | #52


Новый участник


Сообщения: 44
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата Drongo:
У меня программа отработала до возможности выбора действий, сложение, ..., ..., ..., обращение и закрывается...
Хм... у меня все работает... Единственное, что нет обработки введенных символов, если ввести букву вместо цифры программа "накроется". Просто не было время ее так отшлифовывать, задача была, сделать программу для 5ти операция с матрицами, обработку ошибок делать было не обязательно. К тому же ее уже сегодня нужно сдавать, так что время было мало.
Ну, думаю я в ближайшее время смогу ее довести до ума и убрать все "косяки"



А чтобы было понятно, как с программой работать ниже привожу листинг с примером ее работы.
Код: Выделить весь код
----[Matrix A(N,M)]----

Enter size   //вводим размер матрицы А//
 N> 3
 M> 3
Enter matrix elements: //вводим элементы матрицы А (вводить можно через пробел или enter)//
1 2 3
6 5 4
8 7 9

Matrix>   1 2 3  //получившаяся матрица А//
           6 5 4
           8 7 9

-----------------------

//дальше аналогично, но для матрицы В//
----[Matrix B(N,M)]----

Enter size
 N> 3
 M> 1
Enter operant elements:
1 5 8

Matrix>   1
         5
         8

-----------------------

//Теперь необходимо выбрать что мы с этими матрицами будем делать//
################################
#  Chouce operation:
#   1. A+B                    //если ввести 1 - сложение А и В//
#   2. A-B                     //если ввести 2 - вычитание В из А//
#   3. A*B                    //если ввести 3 - умножение А на В//
#   4. Transponent A   //если ввести 4 - транспонирование матрицы А//
#   5. Invert A             //если ввести 5 - обращение матрицы А//
#   9. EXIT                   //если ввести 9 - программа зароиться//
#  >3    //здесь нужно указать номер нужно вам действия, я выбрал умножение//

Matrix>   35     //А это результат умножения//
        63
        115

Последний раз редактировалось Luzuk, 19-09-2008 в 06:28. Причина: добавил код

Это сообщение посчитали полезным следующие участники:

Отправлено: 06:18, 19-09-2008 | #53


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Luzuk,
Код: Выделить весь код
#  >3    //здесь нужно указать номер нужно вам действия, я выбрал умножение//
Вот-вот, ввожу число из меню выбора, от 1 до 5, жму Enter и программа закрывается.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 13:56, 19-09-2008 | #54


Новый участник


Сообщения: 44
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата Drongo:
Вот-вот, ввожу число из меню выбора, от 1 до 5, жму Enter и программа закрывается. »
А какие данные ты вводил, и что с матрицами делал? Просто есть один нюанс (не доработал я этот момент), в случаи ошибки какого-либо действия, допустим, если сложить две матрицы разного размера, что в принципе невозможно, обработчик ошибок сразу при этом выдает сообщение об ошибочном действии (Addition isn't possible), после чего программа закрывается.

Попробуй запустить программу в командной строке (cmd), чтобы было видно, что она выводит перед закрытием.
В исходниках, в файле matrix.h можно глянуть список всех ошибок, которые программа обрабатывает.


Еще возможно глюк из-за разных ОС (что вряд ли), у меня в Win XP(2SP) все нормально работает.
Попробуй создать матрицу А и В размером 1*1, с ними по идеи должны выполняться все действия.
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:25, 20-09-2008 | #55


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Luzuk,
Цитата Luzuk:
две матрицы разного размера »
и
Цитата Luzuk:
Попробуй создать матрицу А и В размером 1*1, с ними по идеи должны выполняться все действия »
Вот теперь тебя люблю я, вот теперь тебя хвалю я. Правильно, всё правильно, работает.
Нужно бы добавить проверку размера второй матрицы. И добавить счётчик номера вводимого элемента матрицы, а то неудобно, неизвестно какой номер ты вводишь. И перед выполняемым действием, было бы лучше выводить название самого действия - Умножение, или Сложение, так проще будет ориентироваться.
Цитата Luzuk:
Попробуй запустить программу в командной строке (cmd), чтобы было видно, что она выводит перед закрытием. »
Вот этого я или не знаю, или не понял, склоняюсь больше к тому, что не знаю, как её так запустить? Поделишься знаниями? Объяснишь?

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 15:03, 20-09-2008 | #56


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Drongo, а я думаю что всё же больше не понимания
Пуск => Выполнить => cmd указываем путь к откомпилированному файлу.

В программе, которая на скрине, слово Chouce по английски правильно пишется как Choose, но сюда больше подходит Select.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:18, 20-09-2008 | #57


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Ооо, точно Admiral, проверил таким способом, да, если размеры матрицы неправильные, всё правильно, ошибка вылетает. Спасибо за разъяснения.

Вопрос как бы уже решён, Luzuk, но если интерес есть, то вот такая ошибка была. Но повторю, размеры матрицы я вводил разные. А в целом всё класс -
Код: Выделить весь код
################################
#  Chouce operation:
#   1. A+B
#   2. A-B
#   3. A*B
#   4. Transponent A
#   5. Invert A
#   9. EXIT
#  >3
        ERROR! >>> Multiplication isn't possible

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 19:14, 20-09-2008 | #58


Новый участник


Сообщения: 44
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата Admiral:
В программе, которая на скрине, слово Chouce по английски правильно пишется как Choose, но сюда больше подходит Select. »
Ясно, учтем Спасибо за подсказку, поправим.

Drongo, Вот и хорошо. Я так сразу и подумал, что в этом ошибка.

Сейчас думаю тоже самое сделать, только с нормальным интерфейсом. Если за основу возьму то что D.Y. сделал:
Цитата D.Y.:
http://forum.oszone.net/attachment.p...1&d=1216408949
Matr_Gause 1.1.zip »
Думаю ни кто против не будет?
Правда из Билдера в Визуал не разу ничего не переделывал, да и вообще графические оболочки только на Win API могу писать, и то на среднем уровне. Посоветуйте, кто знает, с чего лучше начать в этой задачи? Или проще на Билдере ее и продолжить писать и не мучиться с переделкой на Визуал С?

Отправлено: 03:00, 22-09-2008 | #59


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Luzuk, если со средой Билдера не возникает проблем то лучше проект продолжать писать там же.
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:12, 22-09-2008 | #60



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Нахождение обратной матрицы методом Гаусса и рассширенной матрицы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Delphi - [решено] Получить адрес битовой матрицы Tcanvas hackroute Программирование и базы данных 1 09-11-2009 22:50
C/C++ - Нахождение чётных элементов в столбцах матрицы ShadowMas Программирование и базы данных 9 04-04-2009 10:21
C/C++ | Матрицы Kuron Программирование и базы данных 2 21-01-2007 10:09
c++.NET выравнивание матрицы bezumes Программирование и базы данных 4 22-04-2006 01:20
Формирование матрицы Sergey Po Программирование и базы данных 3 28-04-2004 04:47




 
Переход