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

Определить, какая буква кириллицы встречается в строке наибольшее количество раз - C++

Восстановить пароль Регистрация
 
Jeka41
0 / 0 / 0
Регистрация: 07.12.2011
Сообщений: 28
18.06.2014, 04:11     Определить, какая буква кириллицы встречается в строке наибольшее количество раз #1
Дана последовательность символов (строка). Определить, какая буква кириллицы встречается в строке наибольшее количество раз. Если таких букв несколько, то вывести любую
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2014, 04:11     Определить, какая буква кириллицы встречается в строке наибольшее количество раз
Посмотрите здесь:

C++ Определить, какая буква чаще всего встречается в тексте, находящемся в заданном текстовом файле
C++ [C++] Подсчитайте, какая из гласных букв встречается в тексте наибольшее количество раз.
Подсчитать сколько раз в данной строке встречается некоторая буква, введенная с клавиатуры C++
C++ Массивы. Определить, сколько раз каждая буква латинского алфавита встречается в строке
C++ Определить и напечатать слово с предложения, в котором больше раз встречается заданная буква
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rikimaru2013
C++ Game Dev
 Аватар для rikimaru2013
2135 / 968 / 223
Регистрация: 30.11.2013
Сообщений: 3,239
18.06.2014, 04:45     Определить, какая буква кириллицы встречается в строке наибольшее количество раз #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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// 3)   Дана последовательность символов (строка). Определить, какая буква кириллицы встречается
//          в строке наибольшее количество раз. Если таких букв несколько, то вывести любую
 
#include <iostream>
 
using namespace std;
 
void main()
{
    char text[] = "Privet kak dela? Chto delaew? ya vot tyt piwy chto-to blin ) A tu kak? A vot tak!";
 
    int size = strlen(text);
 
    char** temp_arr = new char*[size];
 
    for(int i=0;i<size;i++)
        temp_arr[i] = new char[2];
 
    for(int i=0;i<size;i++)
    {
        temp_arr[i][0] = ' ';
    }
 
    int counter = 0;
        for(int i=0;i<size;i++)
        {
            bool flag = true;
            for(int b=0;b<size;b++)
            {
                
                if ( temp_arr[b][0] == *(text+i) )
                {
                    temp_arr[b][1]++;
                    flag = false;
                    break;
                }   
                
            }
            if(flag == true)
            {
                temp_arr[counter][0] = *(text+i);
                temp_arr[counter][1] = 1;
                counter++;
            }
        }
 
    for(int i=0;i<counter+1;i++)
    {
        cout << i << ". " << " bykva    " << temp_arr[i][0] << "  vstrechalas  " << (int)temp_arr[i][1] << "  raz;" << endl;
    }
 
    int max = -1;
    int temp_i = -1;
    cout << endl << endl;
    for(int i=0;i<counter+1;i++)
    {
        if(temp_arr[i][1] > max)
        {
            max =temp_arr[i][1]; 
            temp_i = i;
        }
    }
    cout << "Max raz vstre4alas' litera >>> " << temp_arr[temp_i][0] << " <<<  (" << (int)temp_arr[temp_i][1] << " raz) " << endl;
 
    for(int i=0;i<size;i++)
        delete [] temp_arr[i];
    delete [] temp_arr;
    
}
Jeka41
0 / 0 / 0
Регистрация: 07.12.2011
Сообщений: 28
18.06.2014, 04:48  [ТС]     Определить, какая буква кириллицы встречается в строке наибольшее количество раз #3
'strlen' was not declared in this scope
rikimaru2013
C++ Game Dev
 Аватар для rikimaru2013
2135 / 968 / 223
Регистрация: 30.11.2013
Сообщений: 3,239
18.06.2014, 05:35     Определить, какая буква кириллицы встречается в строке наибольшее количество раз #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
#include <cstring>
Jeka41
0 / 0 / 0
Регистрация: 07.12.2011
Сообщений: 28
19.06.2014, 02:00  [ТС]     Определить, какая буква кириллицы встречается в строке наибольшее количество раз #5
спасли
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,178
Завершенные тесты: 1
19.06.2014, 08:39     Определить, какая буква кириллицы встречается в строке наибольшее количество раз #6
Думаю, проще считать количество букв каждого типа.
Для этого надо завести массив с длиной равной длине кодовой таблицы,
обнулить его и увеличивать на 1 для каждого встреченного кода
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
    unsigned char text[] = "Privet kak dela? Chto delaew? ya vot tyt piwy chto-to blin ) A tu kak? A vot tak!";
 
    int size = strlen(text);
 
    int temp_arr[256]={0};
    for(int i=0;i<size;i++)
         temp_arr[text[i]]++;
    int max=0;
    for(int i=0;i<256;i++)
         if( temp_arr[i]>temp_arr[max] && i!=' ') // пробел не читываем
                max=i;
   cout<<"Чаще всего встречается "<<(char)max<<'('<<temp_arr[max]<<" раз)\n";
   return 0;
}
Yandex
Объявления
19.06.2014, 08:39     Определить, какая буква кириллицы встречается в строке наибольшее количество раз
Ответ Создать тему
Опции темы

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