осортировать слова по алфавиту (с++)

210
15 февраля 2018, 15:28

Вводится последовательность слов (обязательно string) до встречи слова "stop" (Количество слов НЕ более 10). Вывести в алфавитном порядке.

Что-то вообще нет понятия как из String'a слова достать.Может кто натолкнуть на путь истинный?Ток пожалуйста как можно проще.Без векторов, всяких замудрённых функций и.т.д

Answer 1

Как понимаете, Вам в любом случаи придётся пользоваться массивом, чтобы как-то хранить слова.

Рабочий пример.

#include <iostream>
#include <algorithm> 
using namespace std;
int main() {
    string arr[11], word;
    int size = 0;
    while (cin >> word) {
        if (word == "stop") break;
        arr[size++] = word;  // Запись слова в массив
    }
    sort(arr, arr + size); // Сортируем 
    for (int i = 0; i < size; i++) cout << arr[i] << endl;
    return 0;
}
Answer 2
#include <iostream>
#include <sstream>    
using namespace std;
int main()
{    
    string s = "Has a strong desire to learn and explore new technologies " ;
    istringstream is(s);  // теперь строка в строковом потоке
    string  res;          
    while (is >> res && res != "stop")
        cout << res << '\n';
    return 0;
}

если вам код не понятен, то рекомендую побольше читать, а чтобы сортировать, то в цикле rez нужно во что то хранить, или написать самому код сортировки.

Это был ответ на часть вопроса ("как из String'a слова достать"), если кому непонятно...

READ ALSO
поиск подстроки без цифр

поиск подстроки без цифр

Дан строковый массив из n элементов, где n – натуральное числоНайти в этом массиве самую длинную подстроку, не содержащую цифры

248
QFileDialog стандартная папка

QFileDialog стандартная папка

Как задать при вызове QFileDialog стандартную папку, которая должна показываться?

224
Как найти фамилию и номер из контактов?

Как найти фамилию и номер из контактов?

Моя задача состоит в том чтобы получить имя фамилию и номер телефона абонентаВот так я получаю все значения, кроме фамилии

186
String и сравнение через == [дубликат]

String и сравнение через == [дубликат]

На данный вопрос уже ответили:

190