С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Метод Симпсона http://www.cyberforum.ru/cpp-beginners/thread658785.html
помогите решить задачу в с++ задача в приложенном файле !!
C++ STL . Обращение к 12 элементу вектора Добрый вечер, форумчане! Столкнулся вот с такой проблемой. Имеется вектор, заполненный числами, огромной длины. Но почему-то не хочет выводить 12й элемент... Вот соб-но код, пробую уже даже 2мя... 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,... первое большее а. Не могу совсем понять как это написать В отчаянии:... подробнее

Показать сообщение отдельно
AnreyKazakov
Заблокирован
27.09.2012, 11:20  [ТС]
Этот велосипед не в ту сторону едет

Добавлено через 9 часов 13 минут
Ну помогите кто-нибудь, пожалуйста, почему условие не пашет? Вот, код полностью, если посмотрите в условии wile почему-то неравенство пропускает, а потом тут же в начале след итерации пишет что верно (сравнив k и конец find'а - string::npos , я уже проверок кучу строк затолкал , результата 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
25
26
27
28
29
30
#include <iostream>
#include <string>
#include <iterator>
#include <list>
#include <utility>
#include <map>
using std::cout; using std::cin; using std::endl;using std::string;using std::getline;
using std::list; using std::iterator; using std::pair; using std::map;
int main(){
    string line;
    list<string> all;
    string::size_type k=-1;
    string x;
    while(getline(cin,line)){
        do{
        cout<<"позиция    k: "<<k<<" "<<endl;
        cout<<"символ конца: "<<string::npos<<" ";          
        if(k==string::npos)cout<<" +++++ k и символ конца равны";cout<<endl;
        ++k;
        all.push_back(line.substr(k,(line.find(" ",k)==string::npos?line.size()-k:line.find(" ",k)-k)));
        cout<<"позиция k+1: "<<k<<" "<<endl;
        cout<<"количество символов в слове(/0 /n): "<<(line.find(" ",k)==string::npos?line.size()-k:(line.find(" ",k)-k));
        cout<<endl<<"приращение k=line.find(\" \",k))"<<endl;
        cin>>x;
        }while((k=line.find(" ",k))!=string::npos);
        }
    cout<<endl; 
    for(list<string>::iterator ix=all.begin();ix!=all.end();++ix)cout<<*ix<<endl;
    return 0;
    }
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.