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

Упорядочить слова по возрастанию количеств букв "d", входящих в слова - C++

Восстановить пароль Регистрация
 
user_p01
19 / 19 / 2
Регистрация: 03.11.2011
Сообщений: 80
23.09.2012, 17:11     Упорядочить слова по возрастанию количеств букв "d", входящих в слова #1
Помогите пожалуйста написать программу. Дана последовательность слов, разделенных пробелами, за последним словом - точка. Упорядочить слова по возрастанию количеств букв "d", входящих в слова. Использовать стандартные объекты и функции класса string и методы сортировки. Не использовать указатели, векторы, контейнер map и т. п.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2012, 17:11     Упорядочить слова по возрастанию количеств букв "d", входящих в слова
Посмотрите здесь:

C++ Вводится последовательность слов до встречи слова "stop". Образовать предложение, в котором разместить слова, состоящие более чем из 5 букв.
Не работает функция подсчета количеств букв "а" в словах C++
Перебрать все слова длиной не более n, составленные из букв "а" и "b" C++
C++ Напечатать те слова, которые состоят из всех букв, что и слово "red"
Определить длину каждого слова строки, и если она четная, то вставить в середину слова "aa", иначе "а" C++
Есть ли в строке слова, которые содержат все буквы слова "read" C++
C++ Выяснить, есть ли в заданной строке слова, которые содержат все буквы слова "read"
Из слова вертикаль путем "вырезок" и "склеек" его букв получить слова тир и ветка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
23.09.2012, 19:14     Упорядочить слова по возрастанию количеств букв "d", входящих в слова #2
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
#include <iostream>
#include <string>
#include <algorithm>
 
int main()
{
    std::string s("  Ada  ddd aadd kkk ddd.  "), word, tmp;
    std::string::size_type ind(0), ind1(0);
    std::string arr[50];
    for(ind = 0; (ind = s.find('.', ind)) != std::string::npos; s.replace(ind, 1, 1, ' '))
    ;
    int arrSize(0);
    for(arrSize = 0; (ind = s.find_first_not_of(' ', 0)) != std::string::npos &&
          (ind1 = s.find(' ', ind)) != std::string::npos; ++arrSize)
    {
        arr[arrSize] = s.substr(ind, ind1 - ind);
        s.erase(ind, ind1 - ind);
    }
    int i, j;
    std::string stmp;
    for(i = 0; i < arrSize; ++i)
    {
        stmp = arr[i];
        for(j = i - 1; j >= 0 && std::count(arr[j].begin(), arr[j].end(), 'd') > std::count(stmp.begin(), stmp.end(), 'd'); --j)
        {
            arr[j + 1] = arr[j];
        }
        arr[j + 1] = stmp;
    }
    for(int i = 0; i < arrSize; ++i)
    {
        std::cout << arr[i] << "  ";
    }
    return 0;
}
Yandex
Объявления
23.09.2012, 19:14     Упорядочить слова по возрастанию количеств букв "d", входящих в слова
Ответ Создать тему
Опции темы

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