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

Заполнять массив строк пока не будет введено слово "stop". - C++

Восстановить пароль Регистрация
 
JamboProduction
0 / 0 / 0
Регистрация: 19.09.2015
Сообщений: 28
08.10.2015, 20:41     Заполнять массив строк пока не будет введено слово "stop". #1
Проблема такая.
Надо создать векторный массив с типа string. Пользователь должен вводит любые слова, и одновременно писать их в массив. Если пользователь напишет "stop", то цикл ввода должен остановится и вывести элементы массива. Помогите решит начинающему!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2015, 20:41     Заполнять массив строк пока не будет введено слово "stop".
Посмотрите здесь:

C++ Вводить два числа и искать их произведение, до тех пор пока последнее число не будет введено равным 1
Вводить отрицательные числа до тех пор пока не будет введено положительное число C++
C++ Вводить с клавиатуры целые числа (>0) и выводить на экран квадраты этих чисел до тех пор, пока не будет введено число 0. Использовать цикл do...while.
Вводить с клавиатуры числа и выводить квадраты этих чисел до тех пор, пока не будет введено число 0 C++
C++ Вводить пятизначное число пока не будет введено правильноеповторять ввод, пока не будет введено пятизначное число. Не получается выполнить задание.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4303 / 3724 / 1255
Регистрация: 14.04.2014
Сообщений: 14,579
08.10.2015, 20:53     Заполнять массив строк пока не будет введено слово "stop". #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
#include <string>
#include <cstdlib>
 
int main()
{
    std::vector<std::string> a;
    std::string s;
 
    while (true)
    {
        std::cin >> s;
        if (s == "stop") break;
        a.push_back(s);
    }
 
    std::cout << std::endl;
    for (int i = 0; i < a.size(); ++i) std::cout << a[i] << std::endl;
 
    system("pause");
}
JamboProduction
0 / 0 / 0
Регистрация: 19.09.2015
Сообщений: 28
08.10.2015, 22:44  [ТС]     Заполнять массив строк пока не будет введено слово "stop". #3
Проблема такая.
Надо создать векторный массив с типа string. Пользователь должен вводит любые слова, и одновременно писать их в массив. Если пользователь напишет "stop", то цикл ввода должен остановится и вывести элементы массива.
Я сам написал, но все неверно. Проверьте пожалуйста, и напишите решение. (P.S. Пожалуйста, напишите без std:: я не понимаю что это, я еще начинающий)

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
#include <iostream>
#include <vector>
#include <string>
 
int main(){
    
    vector <string> arr();
    string key;
    bool x = true;
    
    while(x){
        
        cin>>key;
        if(key=="stop"){
            x=false;
        }
        arr.push_back(key);
    }
    
    for(int i=0;i<arr.size();i++){
        cout<<arr[i]<<" ";
    }
    
    
    
    return 0;
}
nmcf
4303 / 3724 / 1255
Регистрация: 14.04.2014
Сообщений: 14,579
08.10.2015, 22:49     Заполнять массив строк пока не будет введено слово "stop". #4
Я тебе уже написал готовый вариант. К чему темы повторять?
JamboProduction
0 / 0 / 0
Регистрация: 19.09.2015
Сообщений: 28
09.10.2015, 00:28  [ТС]     Заполнять массив строк пока не будет введено слово "stop". #5
Вы написали std:: а я этого не знаю, я первокурсник, пример моей записи выше. Нас учат писать так.
Senarist
32 / 32 / 10
Регистрация: 14.03.2014
Сообщений: 510
09.10.2015, 01:34     Заполнять массив строк пока не будет введено слово "stop". #6
JamboProduction Так у тебя это без ::std и не запустится. Почитай какую нибудь книгу. Странно что про вектор рассказали а про std забыли
Новички привыкли все запоминать буквально. Может using namespace std тебе о чем нибудь скажет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2015, 08:45     Заполнять массив строк пока не будет введено слово "stop".
Еще ссылки по теме:

C++ Выводить на экран квадраты введенных чисел до тех пор, пока не будет введено число 0
C++ Сформировать массив строк, в каждой из которых будет данное слово
Как зациклить ввод пока не будет введено одно из обрабатываемых значений? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
nmcf
4303 / 3724 / 1255
Регистрация: 14.04.2014
Сообщений: 14,579
09.10.2015, 08:45     Заполнять массив строк пока не будет введено слово "stop". #7
Просвещаться надо.
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
#include <iostream>
#include <vector>
#include <string>
#include <cstdlib>
 
using namespace std;
 
int main()
{
    vector<string> a;
    string s;
 
    while (true)
    {
        cin >> s;
        if (s == "stop") break;
        a.push_back(s);
    }
 
    cout << endl;
    for (int i = 0; i < a.size(); ++i) cout << a[i] << endl;
 
    system("pause");
}
Yandex
Объявления
09.10.2015, 08:45     Заполнять массив строк пока не будет введено слово "stop".
Ответ Создать тему
Опции темы

Текущее время: 08:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru