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

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

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

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

Добавлено через 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;
    }
 
Текущее время: 06:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru