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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
swizz
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 13
#1

Поиск букв в тексте - C++

06.12.2009, 19:34. Просмотров 798. Ответов 7
Метки нет (Все метки)

Добрый вечер!
Очень надеюсь на вашу помощь, у самого никак не получаеться решить следущую задачку для C++
"Распечатать в порядке, обратном алфавитному, все буквы, которые входят в текст не менее трех раз."
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
breeve
74 / 74 / 14
Регистрация: 01.08.2009
Сообщений: 177
06.12.2009, 20:31     Поиск букв в тексте #2
Цитата Сообщение от swizz Посмотреть сообщение
Добрый вечер!
Очень надеюсь на вашу помощь, у самого никак не получаеться решить следущую задачку для C++
"Распечатать в порядке, обратном алфавитному, все буквы, которые входят в текст не менее трех раз."
задачка вроде того уже была.. смори тут сортировку.. далее сортируешь текст.. он принимает примерно такой вид:
аааааббввгдее..
далее в цикле делаешь проверку на равенство текущего символа и два следующих.. и допустим забиваешь их в массив и выводишь в обратом порядке
swizz
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 13
06.12.2009, 20:51  [ТС]     Поиск букв в тексте #3
а сам текст нужно задавать каким образом?
breeve
74 / 74 / 14
Регистрация: 01.08.2009
Сообщений: 177
06.12.2009, 20:56     Поиск букв в тексте #4
Цитата Сообщение от swizz Посмотреть сообщение
а сам текст нужно задавать каким образом?
ну вообще не важно.. я сделал бы в string'e.. ну можно и в char.. если я тебя правильно понял
swizz
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 13
06.12.2009, 21:08  [ТС]     Поиск букв в тексте #5
Просто если, например, как через цикл найти три стоящие друг за другом одинаковые элементы мне понятно, то реализацию текста и его последущую сортировку - к сожалению, не очень.
breeve
74 / 74 / 14
Регистрация: 01.08.2009
Сообщений: 177
06.12.2009, 21:18     Поиск букв в тексте #6
Цитата Сообщение от swizz Посмотреть сообщение
Просто если, например, как через цикл найти три стоящие друг за другом одинаковые элементы мне понятно, то реализацию текста и его последущую сортировку - к сожалению, не очень.
ну допустим ты сделал проверку и вот в массиве у тебя такие буквы:
[l,a,o,b,z]
далее просто снова сортируешь этот массив и выводишь..
вот пример сортировки массива пузырьком:
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>
using namespace std;
int main()
{
    int array[] = {44,55,45,16,9,-1,65,19,3,5};
    int size = 10;
    for (int i = 0; i < size; i++)
    cout << array[i] <<" "; 
    cout <<endl;
    
    for(int i = 0; i <size-1; i++)
    {
        int tmp = 0;
        for(int j=(i+1); j < size; j++)
            if (array[i]>array[j])
            {
                tmp = array[i];
                array[i] = array[j];
                array[j] = tmp;
            }
    }
    for (int i = 0; i < size; i++)
    cout << array[i] <<" "; 
    cout <<endl;
    
    return 0;
}
заменить цифры на слова я думаю ты сможешь..
а реализацию текста что там непонятного, текст это тот же буквенный массив. по сути ты два раза сортируешь в начале текст, а затем уже буквы для дальнейшего их вывода..
swizz
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 13
11.12.2009, 01:01  [ТС]     Поиск букв в тексте #7
блин, что-то никак не получается все до ума довести =/
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2009, 09:38     Поиск букв в тексте
Еще ссылки по теме:

C++ Частота повторения букв в тексте
Количество гласных букв в тексте C++
C++ Определить сколько больших букв встречается в тексте
Посчитать количество букв в заданном тексте C++

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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
9439 / 5462 / 925
Регистрация: 25.07.2009
Сообщений: 10,481
11.12.2009, 09:38     Поиск букв в тексте #8
swizz, Если не заморачиваться хитрыми методами из STL и фанатичной экономией памяти, то вот так:
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
#include <iostream>
#include <string>
 
// Распечатать в порядке, обратном алфавитному, все буквы, которые входят в текст не менее трех раз.
 
int main(){
    std::string buf;
    std::string::const_iterator i;
    
    while ( true ) {
        std::cout << "String (blank - exit): ";
        getline(std::cin, buf);
        if ( buf.empty() )
            break;
        char symbols[256] = { 0 };
        for ( i = buf.begin(); i != buf.end(); ++i )
            symbols[*i]++;
        
        for ( int j = 255; j >= 0; --j )
            if ( symbols[j] > 2 )
                std::cout << (char)j << ' ';
        std::cout << std::endl;
    }
    return 0;
}
Yandex
Объявления
11.12.2009, 09:38     Поиск букв в тексте
Ответ Создать тему
Опции темы

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