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

string::npos задать корректное условие - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Метод Симпсона http://www.cyberforum.ru/cpp-beginners/thread658785.html
помогите решить задачу в с++ задача в приложенном файле !!
C++ STL . Обращение к 12 элементу вектора Добрый вечер, форумчане! Столкнулся вот с такой проблемой. Имеется вектор, заполненный числами, огромной длины. Но почему-то не хочет выводить 12й элемент... Вот соб-но код, пробую уже даже 2мя вариантами обратиться к нему: for(i=0; i<100; i++) { cout<<arr.at(i)<<" "; cout<<arr<<endl; }; Ну и, доходя до 12, программа выкидывает ошибку: http://www.cyberforum.ru/cpp-beginners/thread658771.html
Условие выполнения цикла C++
#include <iostream.h> void main() { char a; int r=1; cin>>a; if(a==r) { cout<<"test"<<endl; }
C++ Как добавить в трей значок?
Как добавить в трей значок?
C++ Составить программу, которая получает матрицу целых чисел А, размером m*n. http://www.cyberforum.ru/cpp-beginners/thread658755.html
Составить программу, которая получает матрицу целых чисел А, размером m*n. Если в исходной матрице все минимальные элементы нечетных строк сами нечетные, то программа создает новую матрицу. В новой матрице наибольший элемент каждой строки меняется местами с наименьшим элементом этой же строки.
C++ Задача первое большее a Доброго времени суток, помогите пожалуйста с задачей Дано действительное число а. Найти среди чисел 1, 1+1\2, 1+1\2+1\3,... первое большее а. Не могу совсем понять как это написать В отчаянии: #include <math.h> #include <iostream.h> void main(void) { подробнее

Показать сообщение отдельно
AnreyKazakov
Заблокирован

string::npos задать корректное условие - C++

26.09.2012, 23:57. Просмотров 3909. Ответов 8
Метки (Все метки)

Задача - разбить введеную строку на слова и забить в лист... у меня она решена конечно, но некрасиво, а этот вариант чет не канает....
C++
1
2
3
4
5
6
7
string line;
list<string> all;
string::size_type k=0;
while(getline(cin,line)){
    do{all.push_back(line.substr(k,(line.find(" ",k)==string::npos?line.size()-k:line.find(" ",k)-k)));
            }while(string::npos!=(k=line.find(" ",k))++);
        }
Вот....
Кусок кода, он зацикливается до бесконечности, подозреваю ошибка в условии Но, понять где не могу.... =(

Добавлено через 1 минуту
При чем внутри цикла он нормально находит npos и выводит корректно а в условии нет =(
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru