С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 07.05.2019
Сообщений: 22
1

Очистка вектора в цикле

07.05.2019, 18:55. Показов 700. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Проблема в том, что при повторном вводе текста нельзя ввести текст. Как это исправить?
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
31
32
33
34
35
36
37
38
39
40
41
#include<iostream>
#include"windows.h"
#include<vector>
#include<string>
#include<algorithm>
#include"locale.h"
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "ru");                 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    vector<string> text;
    string line;
    string answer = "да";
 
    while (answer == "да" || answer == "Да" || answer == "Da" || answer == "da" || answer == "yes" || answer == "Yes")
    {
        cout << "Введите текст" << endl;
        while (true)                           
        {
            getline(cin, line, '\n');
            if (line == "")
            {
                break;
            }
            text.push_back(line);
        }
        sort(text.begin(), text.end());           
 
        for (auto a : text)
            cout << a << endl;
        cout << "Хотите ввести текст заново?" << endl;
        cin >> answer;
        cout << endl;
        text.clear();
    } 
    cin.get();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2019, 18:55
Ответы с готовыми решениями:

Очистка адреса в цикле
Можно ли очистить память непосредственно во время цикла, так, чтобы следующее значение массива...

Заполнение вектора в цикле
Попробовал так (для освоения материала) #include &lt;vcl.h&gt; #include &lt;vector&gt; #include &lt;iostream&gt;...

Удаление элемента вектора в цикле.
Как правильно удалить элемент вектора в цикле? remove_if не подходит. Примерно вот такая структура...

Как работать с элементами вектора в цикле
Здравствуйте объясните пожалуйста. как работать с элементами вектора в цикле. в стандартном...

3
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,884
Записей в блоге: 1
07.05.2019, 19:13 2
Artecoll, делай на инглише, пока проще будет

Добавлено через 9 минут
вроде работает с горем пополам
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
31
32
33
34
35
36
37
38
#include<iostream>
#include"windows.h"
#include<vector>
#include<string>
#include<algorithm>
#include"locale.h"
using namespace std;
 
int main()
{
    vector<string> text;
    string line;
    string answer = "da";
 
    while (answer == "Da" || answer == "da" || answer == "yes" || answer == "Yes")
    {
        cout << "Enter text" << endl;
        while (true)                           
        {
            getline(cin, line, '\n');
            if (line == "")
            {
                break;
            }
            text.push_back(line);
        }
        sort(text.begin(), text.end());           
 
        for (auto a : text)
            cout << a << endl;
        cout << "continue?" << endl;
        cin >> answer;
        cin.ignore(); // тут надо буфер почистить так как в буфере \n остается
        cout << endl;
        text.clear();
    } 
    cin.get();
}
0
863 / 513 / 215
Регистрация: 19.01.2019
Сообщений: 1,216
07.05.2019, 19:24 3
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
31
32
33
34
using namespace std;
int main()
{
    setlocale(LC_ALL, "ru");
 
    //vector<string> text;  //??
    string line;
    string answer = "да";
 
    while (answer == "да" || answer == "Да" || answer == "Da" || answer == "da" || answer == "yes" || answer == "Yes")
    {
        cout << "Введите текст:" << endl;
        cin >> line;
        
        if (line.empty()) {
            break;
        }
        //text.push_back(line); //??
        sort(line.begin(), line.end());
 
        cout << "Хотите ввести текст заново?" << '\n';
        cin >> answer;
        cout << '\n';
        //text.clear(); //зачем добавлять и удалять одну строку в вектор?
    }
    //for (auto& a : text) {
        //cout << a << '\n';
    //}
    
 
    std::cout << '\n';
    system("pause");
    return 0;
}
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
07.05.2019, 19:37 4
del
0
07.05.2019, 19:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2019, 19:37
Помогаю со студенческими работами здесь

Очистка нескольких едитов в цикле
Как в цикле очистить EDIT-ы, чтобы уменьшить количество строк? Добавлено через 10 минут Причем...

Очистка вектора объектов пользовательского класса
Здравствуйте. Есть вектор std::vector&lt;Morphology*&gt; MorphCollection который заполняется следующим...

Использование в цикле вектора
Здравствуйте! clear all close all X=' ; =max(X); % создание j i=1:length(X(:,1)); % ...

Собственные вектора в цикле
Помогите пожалуйста найти в цикле собственные вектора квадратной матрицы. Если ранее уже были...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru