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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
tom
1 / 1 / 0
Регистрация: 08.11.2008
Сообщений: 62
#1

Найти слово, один и тот же символ в котором встречается максимальное число раз - C++

25.02.2009, 12:30. Просмотров 1094. Ответов 1
Метки нет (Все метки)

длина входной строки не превосходит 300 символов, она вводится с консоли.
Вам необходимо вывести на консоль либо преобразованную строку, либо требуемые в условии данные.
Использовать класс string нельзя!
Строка состоит из слов, разделенных одним или несколькими пробелами.
Найти слово, один и тот же символ в котором встречается максимальное число раз (в рамках всей строки). Если таких слов несколько, найти первое из них.
Надо добавить обработку следующих ситуаций:
1. когда строка начинается с пробелов
2. когда заканчивается пробелами или 1-2 вместе:
3. когда вводим просто строку из одних пробелов.
Помогите плиз!!
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
#include <iostream>   
    using namespace std;   
    int found(char* s){
       int max=0, j, t;   
       for(int i = 0; s[i]!=0; i++){ 
           for(j = i+1, t=1; s[j]!=0; j++)   
             t+=s[j]==s[i]?1:0;
             if (t > max)   
                max = t; }   
        return max;   
    } 
 
    void main(){
        setlocale(LC_ALL, ".1251");
        char * s = new char[300];
        char * maxslovo = new char[300];  
        cout<<"Введите строку символов: "<<endl;
        int max=0,t; 
    c=cin.get();  
      while (c==32||c==10){   
        cout<<"net reshenija!"<<endl;
        c=cin.get();   
    }   
    s[0]=c;   
    cin>>&s[1];   
    do{      
        if(max!=0)   
            cin>>s;   
        t=found(s);      
        if(t>max) max=t,strcpy(maxslovo,s);   
    }while(cin.peek()!=10);      
    do{  cin>>s; 
         t = found(s);   
         if (t > max) 
           max = t,strcpy(maxslovo,s);   
         }
    while(cin.peek()!=10);
    cout<<"Содержит максимально один и тот же символ слово = " << maxslovo<<endl<<"в количестве = "<<max<<endl;   
     }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2009, 12:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти слово, один и тот же символ в котором встречается максимальное число раз (C++):

Найти слово, один и тот же символ в котором встречается максимальное число раз (в рамках всей строки). - C++
Помогите пожалуйста! Строка состоит из слов, разделенных одним или несколькими пробелами.(может начинаться несколькими пробелами и...

Найти слово, один и тот же символ в котором встречается максимальное число раз (в рамках всей строки) - C++
состоит из слов, разделенных одним или несколькими пробелами. Найти слово, один и тот же символ в котором встречается максимальное число...

Найти слово, в котором заданный символ встречается наиболее часто - C++
Помогите с задачей. Дан текст. Найти в нём слова, в которых некоторый заданный символ встречается наибольшее число раз.

В заданном тексте определить слово, в котором заданный символ встретится наибольшее число раз - C++
Условие задачи: в заданном тексте определить слово, в котором заданный символ встретится наибольшее число раз.

В заданном тексте определить слово, в котором заданный символ встретится наибольшее число раз. - C++
Помогите пожалуйста, народ!:) Задание. В заданном тексте определить слово, в котором заданный символ встретится наибольшее число раз.

Найти слова, в которых символ в центре слова и в оставшейся части встречается только один раз - C++
Задание: Слово имеет нечетное количество символов, и символ, находящийся в центре слова, в оставшейся части этого слова встречается...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Yurii_74
paladin
279 / 179 / 3
Регистрация: 25.02.2009
Сообщений: 592
26.02.2009, 08:24 #2
Сделай посимвольную обработку строки. Проверяем каждый символ на пробел. Если не пробел, то считывеам все символы до следующего пробела (или конца строки) в некоторую переменную типа char *. Затем находим в ней максимально повторяющийся символ. Если уже сохранено некоторое слово (сдесь можно просто использовать флаг), то сравниваем по кол-ву повторяющихся символов и, в зависимости от результата, сохраняем/не сохраняем новое, иначе безусловно сохраняем его. Если у нас одни пробелы, то флаг сохранения слова не будет установлен. Вроде бы все. Писать код, к сожалению, нет времени. Надеюсь, объяснил понятно.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2009, 08:24
Привет! Вот еще темы с ответами:

Определить и напечатать слово с предложения, в котором больше раз встречается заданная буква - C++
помогите пожалуйста. Задача такова: Ввести предложение. Определить и напечатать слово с этого предложения, в котором больше раз...

Сколько раз встречается максимальное число - C++
Дано натуральное число. Определить, сколько раз в нем встречается максимальная цифра(Например 12545 - 5 встречается 2 раза). Решение...

Выяснить, сколько раз в последовательности встречается максимальное число. Не используя массивы. - C++
Дана последовательность чисел. Выяснить, сколько раз в ней встречается максимальное число ПОЖАЛУЙСТА,без использования разных массивов,на...

Дана последовательность чисел. Сколько раз в ней встречается максимальное число? - C++
Given a sequence of numbers. Find out how many times the maximum element of the sequence meets in the sequence. Input data. First...


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

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

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