Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 1
Регистрация: 10.12.2015
Сообщений: 91
1

Упорядочить в строке слова по убыванию их длины.

26.01.2016, 14:34. Показов 1174. Ответов 2
Метки нет (Все метки)

Дана строка символов, состоящий из отдельных слов, разделенных пробелом. Упорядочить слова по длине (по убыванию) и вывести на печать.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2016, 14:34
Ответы с готовыми решениями:

Упорядочить слова в строке по возрастанию их длины
Нужно упорядочить слова в строке по возрастанию их длины Найти ошибки #include "StdAfx.h"...

Упорядочить слова в строке по возрастанию длины слов.
1)Упорядочить слова в строке по возрастанию длины слов. 2)Вводятся фамилия и баллы от1 до 100....

Расположить слова в строке, введенной пользователем, по убыванию их длины
Дано предложение, состоящее из слов, разделенных пробелом. Как в TASM отсортировать эти слова по...

Упорядочить слова в строке по возрастанию их длины (SortWords(s) функция)
SortWords(s)

2
104 / 104 / 99
Регистрация: 30.06.2015
Сообщений: 272
26.01.2016, 15:37 2
Лучший ответ Сообщение было отмечено Nickname_2015 как решение

Решение

Nickname_2015, вот как-то так:

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
#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>
 
using namespace std;
 
struct compare
{
    bool operator()(const string &first, const string &second)
    {
        return first.size() > second.size();
    }
};
 
int main()
{
    char str[] = "This is a test string of words";
    cout << str << endl;
    char* chars_array = strtok(str, " ");
    vector<char*>result;
    compare c;
    while(chars_array)
    {
        result.push_back(chars_array);
        chars_array = strtok(NULL, " ");
    }
    sort(result.begin(),result.end(),c);
    for(unsigned int i=0;i<result.size();i++)
        cout << result[i] << " ";
    cout << endl;
}
1
Любитель чаепитий
3552 / 1661 / 510
Регистрация: 24.08.2014
Сообщений: 5,630
Записей в блоге: 1
26.01.2016, 17:32 3
Nickname_2015,
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 <set>
#include <sstream>
 
using namespace std;
 
int main() {
    set<string,greater<string>> coll;
    string str = "asd qwe zxc etc i tak dalee";
    stringstream ss(str);
    while(1) {
        string tmp;
        ss >> tmp;
        coll.insert(tmp);
        if(!ss) break;
    }
    for( const auto& elem : coll ) {
        cout << elem << endl;
    }
    cin.get();
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2016, 17:32

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Списки: упорядочить строки в тексте по возрастанию длины минимального слова в каждой строке
Упорядочить строки в тексте по возрастанию длины минимального слова в каждой строке. 1) делим...

Выделить знакопостоянную подпоследовательность наибольшей длины и упорядочить ее по убыванию
Дана последовательность a1,...,an (n&lt;=100) действительных чисел. выделить из нее знакопостоянную...

Упорядочить все слова по убыванию
2) Упорядочить все слова по убыванию(тоесть по кол-ву букв в слове) поможете?

Отсортировать все слова по убыванию длины
В исходной строке a$ на русском языке отсортировать все слова по убыванию длины, а при равной длине...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.