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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2010, 17:55   #1
_Disa
 
Регистрация: 16.11.2010
Сообщений: 7
По умолчанию <vector.h> выдает исключение

День добрый.
В следующем коде вылетает исключение при первом же проходе цикла
Код:
...
vector	< vector < pair <int, int> > > g;
...
main() {
...
	register int i = 0; 
	int NumOfTops = 0, NumOfPairs = 0, v = 0;
	
	scanf ("%i", &NumOfTops);
	for ( i = 0; i < NumOfTops - 1; i++) {
		scanf("%i", &v);
		scanf("%i %i", &g[v][i].first, &g[v][i].second);
	}
}
Не пойму никак. В outpute'e деббагер выдает
Цитата:
The program '[344] lcaForMinPath.exe: Native' has exited with code 3 (0x3)
Спасибо
_Disa вне форума Ответить с цитированием
Старый 28.11.2010, 19:23   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Вы пытаетесь получить доступ к элементам пустого еще вектора. Попробуйте, например, так:
Код:
	register int i = 0; 
	int NumOfTops = 0, NumOfPairs = 0, v = 0;
	
	scanf ("%i", &NumOfTops);
	g.resize(NumOfTops);
	for (i = 0; i < NumOfTops; i++)
		g[i].resize(NumOfTops);   //Вам ведь квадратная нужна?
	for ( i = 0; i < NumOfTops - 1; i++) {   //Кстати, почему NumOfTops - 1? Или так и надо?
		scanf("%i", &v);
		scanf("%i %i", &g[v][i].first, &g[v][i].second);
	}
Впрочем, возможно, даже лучше сначала в локальные переменные считать, и только потом уже пихать их в first и second. Код не проверял.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 29.11.2010, 10:29   #3
_Disa
 
Регистрация: 16.11.2010
Сообщений: 7
По умолчанию

Так) Я сам дурак и понял все, просто еще один вопрос -не подскажите как правильно инициализировать vectoc <vector <pair<>>>?
_Disa вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# Исключение dividebyzeroexception byte916 Помощь студентам 1 14.10.2010 17:49
Исключение равенства. %$PROregRAMi$t% Microsoft Office Excel 2 06.06.2010 18:29
исключение эл-ов из массива Arcueid1691 Общие вопросы C/C++ 9 08.10.2009 20:11
Исключение (Delphi) VadEr Помощь студентам 2 05.06.2009 15:29
Исключение EIdReadTimeout Pedro Работа с сетью в Delphi 1 22.09.2007 22:51