Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

считать в вектор пар все числа, отличные от нуля - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Модификация перезагрузки http://www.cyberforum.ru/cpp-beginners/thread334045.html
Программа рабочая вот такая #include <iostream> #include <cstring>//для strcpy(),strlen() using namespace std; #include <process.h>//для exit() class String
C++ Автозапуск процесса Dev-cpp Как сделать автозапуск процесса по включении компа, желательно через винапи? http://www.cyberforum.ru/cpp-beginners/thread334036.html
C++ Вечный цикл
является ли этот цикл зацикленным(вечным)? while(1){ for(i=8;i<=190;i++){ if (GetAsyncKeyState(i) == -32767) {
C++ можно ли считать следующий символ из потока
Было бы отлично, если можно было считать из потока следующий символ: vector <pair<double,double>> v; ifstream fin2("2.txt"); char a; while (!fin2.eof()) { a = fin2.get(); if (...
C++ Структура, доступная из всех файлов проекта ("глобальная" структура) http://www.cyberforum.ru/cpp-beginners/thread334020.html
Есть четыре структуры (body, gun, enemy, st), описанные в main.cpp. К main.cpp подключен хедер save.h, в котором имеется функция void save(body player, enemy hostile, st) { ... } При компиляции...
C++ Компиляция моей первой программы Купил книжку. Половину прочитал и подумал, что надо начинать понемногу что-то пробовать. В книге про компиляторы почти ничего не написано. Так вот, весь исходный код у меня в блокноте, как его... подробнее

Показать сообщение отдельно
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313

считать в вектор пар все числа, отличные от нуля - C++

18.07.2011, 12:30. Просмотров 2214. Ответов 12
Метки (Все метки)

У меня такая задача:
считать в вектор пар все числа, отличные от нуля. В паре - первое число - всегда типа int, второе - double. Написал небольшую ф-цию. Но не получается считать.
"Debug Assertion failed" - vector subscript out of range. - не пойму, где ошибка
Из файла считываю вот такую последовательность:
1 4 0
2 1 3 6 0
1 5 3 2 234 5 0

А вот мой код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
double b;
    vector <double> stringMatrix;
    ifstream fin3("3.txt");
    while ( fin3 >> b )
    {
        stringMatrix.push_back(b);
    }
 
vector<pair <int,double> > pairStringMatrix; 
int i = 0;
    while ( i <= stringMatrix.size() )
    {
        if ( stringMatrix[i] != 0  )
        {
            pairStringMatrix.push_back(make_pair(stringMatrix[i],stringMatrix[i+1]));
            if  ( stringMatrix[i+2] == stringMatrix[stringMatrix.size()] )
            {
                pairStringMatrix.push_back(make_pair(0,0));
                return 0;
            } 
            else { i = i + 2; }
        } 
        else { pairStringMatrix.push_back(make_pair(0,0)); i++; } 
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru