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

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

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

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

22.01.2014, 04:18. Просмотров 417. Ответов 2
Метки нет (Все метки)

помогите пожалуйста. Задача такова: Ввести предложение. Определить и напечатать слово с этого предложения, в котором больше раз встречается заданная буква (учитывать малые и большие буквы). У меня чтото в цыкл 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();
              }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 04:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить и напечатать слово с предложения, в котором больше раз встречается заданная буква (C++):

Определить сколько раз встречается заданная буква - C++
Составить программу для нахождения общего количества заданной буквы в трех заданных предложениях. Определить функцию для расчета количества...

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

Определить сколько раз в файле встречается заданная буква - C++
В процентах. помогите ребят очень срочно.

(Только простой вариант)Дано слово и буква.Сколько раз эта буква встречается в слове - C++
Дано слово и буква.Сколько раз эта буква встречается в слове.

Рекурсия: посчитать, сколько раз встречается заданная буква в массиве - C++
Создайте рекурсивную функцию, которая будет принимать вот такие аргументы: слово чаровый массив, одну букву, и длину этого массива....

Подсчитать, сколько раз среди символов строки встречается заданная буква - C++
Дана строка символов. Подсчитать, сколько раз среди символов строки встречается заданная буква. Test: Input: m// первый символ это...

2
abit
264 / 263 / 33
Регистрация: 03.02.2013
Сообщений: 731
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) выдать ответ этого хранения

собстна всё, программа в несколько строчек, а не тот бред
0
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 121
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;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2014, 09:12
Привет! Вот еще темы с ответами:

Выяснить сколько раз встречается заданная буква в заданном столбце матрицы - C++
Помогите пожалуйста написать программу, буду рада любой помощи. Заданий двовимірний рядковий масив, що складається з 3 рядків і 4...

Определить сколько раз в тексте встречается буква А и сколько раз буква С - C++
:wall:Определить сколько раз в тексте встречается буква А и сколько раз буква С

Определить сколько раз в числе встречается заданная цифра - C++
Кто поможет. С++ Дано натуральное число. Определить:сколько раз в нем встречается цифра а;

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


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

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

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