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

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

Восстановить пароль Регистрация
 
Studik1
0 / 0 / 0
Регистрация: 05.12.2013
Сообщений: 2
22.01.2014, 04:18     Определить и напечатать слово с предложения, в котором больше раз встречается заданная буква #1
помогите пожалуйста. Задача такова: Ввести предложение. Определить и напечатать слово с этого предложения, в котором больше раз встречается заданная буква (учитывать малые и большие буквы). У меня чтото в цыкл do... while() только 1 раз заходит_( это можно исправить или надо всё переделовать?
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
#include <iostream>
#include <stdio.h>
#include <string>
#include <conio.h>
 
using namespace std;
 
int main(){
    printf("\nVvedit litery ");
 
    int L,l;
  
    scanf("%g",&L);
    if(L<91&&L>64){
          l=L+32;          
                    
                    }
    if(L<123&&L>96){
           l=L;
           L=l-32;         
                    
                    }
                    
   string text, line,slovo,  SLOVO;
  
    cout<<"Vvedit text(finish Ctrl+Z):"<<endl;
    while(getline(cin,line));
    text += line;
 
int flag=0,max=0,i;
 
 do{      int r=0;
            for( i=0;i<text.length();i++){
               
                if(text[i]==' '){
                          
                    break;
                     
                     }
                      slovo[r]=text[i];
                      r++;
                        }
   for(int q=0;q<slovo.length();q++){
         if(slovo[q]==L||slovo[q]==l){
                     flag++;                 
                                      
                                      }
         }   
        
                 
 if(max<flag){
              max=flag;
           for(int z=0;slovo.length();z++){
                 SLOVO[z]=slovo[z];
                  
                }  
              }
    flag=0;
              
}while(i!=text.length());    
 
 
         cout<<SLOVO.c_str();
                       
         
   
             getch();
              }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 04:18     Определить и напечатать слово с предложения, в котором больше раз встречается заданная буква
Посмотрите здесь:

C++ Найти слово, один и тот же символ в котором встречается максимальное число раз
Найти и напечатать слово, в котором содержится больше всего символов “А” C++
C++ Определить, какая буква кириллицы встречается в строке наибольшее количество раз
C++ Определить сколько раз в тексте встречается буква, вводимая с клавиатуры
Определить сколько раз встречается заданная буква C++
(Только простой вариант)Дано слово и буква.Сколько раз эта буква встречается в слове C++
Подсчитать, сколько раз среди символов строки встречается заданная буква C++
C++ Определить сколько раз в файле встречается заданная буква

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
22.01.2014, 05:06     Определить и напечатать слово с предложения, в котором больше раз встречается заданная буква #2
ну это точно переписывать
что за printf/scanf ? не слышали про std::cin/cout ?
C++
1
2
3
4
5
6
7
8
9
if(L<91&&L>64){
          l=L+32;          
                    
                    }
    if(L<123&&L>96){
           l=L;
           L=l-32;         
                    
                    }
страсти то какие... уберите это и не пишите так больше никогда, как и про getch(); забудьте

давайте по теории пройдёмся... что нужно от задачи
1) ввод предложения в std::string
2) ввод буквы в char
тут копаем std::cin

далее
3) разделить предложение по словам, я бы использовал istringstream, проще не знаю как, разделение лучше сделать скажем в вектор типа <std::string>
4) пройтись по всем элементам вектора поиском std::find ( http://www.cplusplus.com/reference/algorithm/find/ ) заданной буквой (там в const T& val задавать)
5) конечно, хранить максимальное количество выходов std::find с ответом внутри очередного слова
6) выдать ответ этого хранения

собстна всё, программа в несколько строчек, а не тот бред
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 119
22.01.2014, 09:12     Определить и напечатать слово с предложения, в котором больше раз встречается заданная буква #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
#include <iostream.h>
#include <iomanip.h>
#include <string.h>
#include <stdio.h>
 
int main()
{
    char st1[50],*wrd,b[50];
    int i,k=0,max=0;
    gets(st1);
    wrd=strtok(st1," ");
    while(wrd!=NULL)
    {
        k=0;
        for(i=0;i<strlen(wrd);i++)
        {
            if(wrd[i]=='L'||wrd[i]=='l')
            {
                k++;
            }
        }
        if(k>max)
        {
            max=k;
            strcpy(b,wrd);
        }
        wrd=strtok(NULL," ");
    }
    puts(b);
    return 0;
}
Yandex
Объявления
22.01.2014, 09:12     Определить и напечатать слово с предложения, в котором больше раз встречается заданная буква
Ответ Создать тему
Опции темы

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