+ Ответить в теме
Показано с 1 по 3 из 3

Тема: С++. Заполнение вектора с базовым типом string.

  1. #1
    programmer Dragon is on a distinguished road
    Регистрация
    01.10.2009
    Адрес
    Odessa
    Возраст
    33
    Сообщений
    92
    Вес репутации
    10

    Question С++. Заполнение вектора с базовым типом string.

    Заполняю вектор с базовым типом string слудющим образом:
    Код cpp:
    1. vector<string> v_str(10);
    2.     string next;
    3.     unsigned int i = 0;
    4.  
    5.  
    6.     while(i < v_str.size())
    7.     {
    8.         getline(cin, next);
    9.         v_str[i] = next;
    10.         i++;
    11.     }

    Предварительно указывая размер вектора все отлично. А если размер заранее неизвестен, то начинаются проблемы.
    Подскажите, как заполнить такой вектор? Какой ограничение можно задать в цикле while или через for можно сделать?
    Собственно набросок такой:
    Код cpp:
    1. while(/*Какая тут проверка ума не приложу*/)
    2.     {
    3.         getline(cin, next);
    4.         v_str.push_back(next);
    5.      }

    Как вариант можно ввести флаг. После каждого ввода спрашивать у пользователя хочет ли он сделать еще одну запись, и если откажется, то переключить флаг и на этом закончится цикл. Но сильно громоздкий вариант, лишние вопросы.
    Последний раз редактировалось Dragon; 19.01.2010 в 13:41.

  2. По умолчанию

     
    Хотите избавиться от рекламы? Зарегистрируйтесь
  3. #2
    senior developer BulldozerBSG is on a distinguished road
    Регистрация
    09.01.2010
    Возраст
    34
    Сообщений
    263
    Вес репутации
    10

    По умолчанию Re: С++. Заполнение вектора с базовым типом string.

    Спрашивай у пользователя, ведь только он знает сколько он хочет ввести строк. А флага никакого не надо. Просто бесконечный цикл while(1){} и выход внутри по break когда пользователь скажет что больше не надо вводить данные.

  4. #3
    programmer Dragon is on a distinguished road
    Регистрация
    01.10.2009
    Адрес
    Odessa
    Возраст
    33
    Сообщений
    92
    Вес репутации
    10

    По умолчанию Re: С++. Заполнение вектора с базовым типом string.

    Ооо, через бесконечный цикл, как вариант (век живи, век учись ). Спасибо.

+ Ответить в теме

Похожие темы

  1. Что лучше: string или C-string?
    Не знал где создать (т.к. тема более дискусионная), посему зарание приношу извинения если что не так. Изучил я С-строки и класс string. У первых...
    от Dragon в разделе C и C++
  2. Вычислить компоненты вектора по формуле
    1.Вычислить компоненты вектора B по формуле: bi=sin(((i-1)^3)/i!).Найти наибольшую отрицательную компоненту этого вектора
    от kill301 в разделе задачи на Паскале и Delphi
  3. std::string vs System::String^
    struct TVarInfo{ String^ Name; TVarInfo* ptr; }; Все бы хорошо, но «cannot declare a managed 'Name' in an unmanaged 'TVarInfo'» Если...
    от fess в разделе C и C++
  4. проблема с типом Null
    Помогите плз. Значение переменной $a берется из БД. Потом эта переменная используется в условии (if). Но получается так, что перемення эта после...
    от elk в разделе Perl, PHP, ASP ...
  5. Вектора
    Привет участникам форума! Ниже следует маленький исходник: #include <iostream> #include <vector> using namespace std; int main()
    от Den в разделе C и C++

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения