Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2014, 21:22   #1
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию for падает в бесконечный цикл....

Прожка должна протестировать несколько графов на изоморфность.
Но каким-то идиотским образом, если neighborA[i].size() == 0, то зацикливается.. С хрена выражение "j<neighborA[i].size()-1" становится true при любом j??
Код:
vector<vector<int> > neighborA; 

...

for(i=0; i<rgraphA.size(); i++) 
	{ 

		vector<int> mutualdistanceA; 
// вот тут падает в бесконечный цикл...
// ______________________________________________________________________________________
		for(j=0; j<neighborA[i].size()-1; j++) 
			for(k=j+1; k<neighborA[i].size(); k++) 
				mutualdistanceA.push_back(distanceA[neighborA[i][j]][neighborA[i][k]]);  
// ______________________________________________________________________________________
		sort(mutualdistanceA.begin(), mutualdistanceA.end()); 
		vector<int> tmutualA; 
		for(k=0; k<nA*nA-1-mutualdistanceA.size(); k++) tmutualA.push_back(0); 
		for(k=0; k<mutualdistanceA.size(); k++) tmutualA.push_back(mutualdistanceA[k]); 
		sequenceA.push_back(tmutualA);  
	}
добавил проект (VS)
Вложения
Тип файла: zip isomorph6.zip (9.0 Кб, 5 просмотров)

Последний раз редактировалось Smogg; 02.12.2014 в 21:42.
Smogg вне форума Ответить с цитированием
Старый 02.12.2014, 22:30   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
С хрена выражение "j<neighborA[i].size()-1" становится true при любом j??
Ну, например, потому что сайз беззнаковый и 0-1 в безнаковом это будет очень большое число...
p51x вне форума Ответить с цитированием
Старый 02.12.2014, 23:30   #3
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Ну, например, потому что сайз беззнаковый и 0-1 в безнаковом это будет очень большое число...
Спасибо! очень
Такую хитронавороченную программу проверки изоморфности копипастил, и такой идиотской ошибки в ней никак не ожидал))

Последний раз редактировалось Smogg; 02.12.2014 в 23:33.
Smogg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бесконечный цикл Алексей_2012 Общие вопросы Delphi 10 24.04.2013 08:27
Бесконечный цикл, но почему? Destinystar3422 Общие вопросы C/C++ 4 11.06.2011 11:55
Бесконечный цикл. Тошка Помощь студентам 6 12.03.2011 17:50
Бесконечный цикл. Kingdom_Reborn Помощь студентам 4 11.11.2010 00:18
Бесконечный цикл Эдуард Общие вопросы C/C++ 4 03.04.2008 17:28