![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
LeoGD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 26.5.2005 Репутация: нет Всего: нет |
Уже как 5-6 часов в суммме, уже второй день чижу где-то над 10 строками кода и не могу понять в чем дело.
Я в соответствии с введеннымы ребрами и вершинами создаю матрицу смежности A, парралельно вводя ребра в массив C[100][2] матрица смежности a[sk][sb]: sk и sb у меня вводятся в цикле с клавиаутуры, сам массив а динамический и размерность задается предварительным вводом кол-ва вершин 1 2 2 2 1 3 3 1 они нормально изменяют матрицу смежности, увеличивая значения на один при каждой смежности. И у меня есть проблемный массив C: в него все в течении ввода и формирования массива а записываются введенные sk и sb чтобы получить тоже самое что и при вводе, а выходит вот что: Vvedite poo4eredno rebra, po zaverweniyu vvedite '0' ili <0 1 2 2 2 1 3 3 1 0 0 1 1 0 0 2 2 0 и даже если учесть что выходной массив должен иметь каждый элемент на один больше, то всеравно ошибки и каждый раз новая картина...
|
|||
|
||||
LeoGD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 26.5.2005 Репутация: нет Всего: нет |
Я за эти два дня попытался решить эту проблему примерно с восьмью знакомыми программистами, никто не знает в чем проблема массива С. Большая просьба откомпилировать у себя этот код и попробывать разные вводы - вы будете удивлены. Но я всеже надеюсь что кто-нибудь найдет объяснение этой ошибке...
Vyberite deystvie: 1: Vvesti bazovuyu matricu 2: Vyvesti matricu smejnosti 3: Dobavit verwinu 4: Dobavit gran 5: Udalit gran 6: Udalit verwiny 7: Vyhod - 1 Sozdanie bazovogo grafa Vvedite kol-vo verwin: 3 Vvedite poo4eredno rebra, po zaverweniyu vvedite '0' ili <0 1 2 3 1 2 2 2 3 1 3 0 0 2 2 1 1 1 1 0 0 2 // ДАЛЕЕ НЕ ВАЖНО Teper vvedite ves kajdoy verwiny: Зарание спасибо за попытку найти причину! |
|||
|
||||
Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Если я правильно понял, таблицы должны совпасть с учетом декрементации в 85 строке,
а они не делают. Но... в 26ой строке идет int c[10][1]; // maximalnoe koli4estvo reber. а в 90ой c[grani][1]=sb; А это не правильно. Индексы массивов в сях задаются полуинтервалами [0..n), в данном случае n=1. То есть нельзя делать 90ую строку. В 26ой исправь 1 на 2, должно полегчать. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
LeoGD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 26.5.2005 Репутация: нет Всего: нет |
Да, это помогло!!! Огромное спасибо за ответ, с индексами я вроде разобрался, буду теперь это учитывать! ;)
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |