![]() |
|
Модераторы: bsa |
![]()
|
|
| hello19 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.7.2011 Репутация: нет Всего: нет |
Задача - решить систему линейных уравнений. Мне дана матрица коэффициентов.
Дана она мне в необычном виде. Исходная СЛУ 4x1 + 2x2 + 9x3 = 1 x2 + 6x3 = 7 4x1 + 2x3 = 0 коэффициенты исходной СЛУ (1;4)(2;2)(3;9) (2;1)(3;6) (1;4)(3;2) Каждая строка файла содержит информацию о ненулевых коэффициентах одного уравнения СЛУ. Количество строк в файле соответствует количеству уравнений СЛУ. Порядковый номер строки в файле соответствует номеру уравнения i. Каждая строка файла состоит из групп чисел (j ; k(i;j)) • Первое число в группе – это значение номера j коэффициента k(i;j) при неизвестном x(j) в уравнении i • Второе число в группе – это значение коэффициента k(i;j) Количество таких групп в строке файла (т.е. количество ненулевых коэффициентов в уравнении) может быть любое – от 1 до n, где n – количество неизвестных в СЛУ. Но это все го лишь пример. У меня же матрица 3638 порядка. Написал рабочий код(тестил его на матрицах 3 и 4 порядков). Запускаю его на выполнение (для матрицы 3638 порядка) - стопариться программа. Стопарится она, даже если порядок систему 300. Как исправить, чтобы программа полностью решала задачу(для порядка 3638 например, хотя надо и больше) Не знаю что и делать. Программа прилагается. Это сообщение отредактировал(а) hello19 - 19.7.2011, 14:38 Присоединённый файл ( Кол-во скачиваний: 3 )
Programma.rar 25,84 Kb |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
hello19, что там у тебя на 5.25 МБ ???
Оставь только исходники (exe и obj не нужно) и залей архив прямо сюда на форум, а не на внешнее хранилище. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
Приступим...
1. У тебя файл "Система.txt" сделан в UTF-8 (первые 3 байта EF BB BF), а читаешь ты его просто как ANSI 2. Когда я сделал из этого файла обычный ANSI, то программа стала падать на этой строке
при этом column равен 5 (т.е. шестой элемент), а память ты выделяешь для 5-ти элементов
Хватит для начала. Вообще-то сильно не вникал в программу, но мне кажется, что ты что-то перемудрил. Щаз немного времени нет... Попозже гляну. Ок ? -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
| borisbn |
|
||||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
если поставить
то программа отрабатывает до конца. да, действительно долго, ведь массив получается 3х3 тыс = 9 миллионов записей. Выходной файл 3.txt получается 185 МБ, и там явно какая-то фигня. вот первая же строка
дальше до конца одни -6.27744e+066 скорее всего это происходит потому, что ты не обнуляешь массив matrix. после выделения памяти (new) в нём (вернее в ней - в памяти) лежит мусор. Сделай обнуление
А лучше пользуйся векторами
P.S. Вот этот цикл
можно сделать попроще
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||||||||||
|
|||||||||||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |