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

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

Войти
Регистрация
Восстановить пароль
 
D@vS
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 32
#1

Вывод слов, заканчивающихся на "о" (чуть дописать прогу) - C++

14.12.2012, 18:43. Просмотров 373. Ответов 6
Метки нет (Все метки)

Здравствуйте,вот собственно код:
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
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define STR_LEN 200   /*Максимальная длина строки. */
 
int main(void)
{
    int i;
    char inputStr[STR_LEN];
    char *word;
 
 
    printf("Введите фразу :\n");
    scanf("%[^\n]", inputStr);
 
    /* Пропуск остатка строки. */
    scanf("%*[^\n]");
    scanf("%*c");
    
    word = strtok(inputStr, " ");   
 
    while (word != NULL)
    {
        if ((word[strlen(word) - 1] == 'O') ||     /* Анлийская 'А'. */
            (word[strlen(word) - 1] == 'О') ||     /* Русская 'А'. */
            (word[strlen(word) - 1] == 'o') ||     /* Анлийская 'a'. */
            (word[strlen(word) - 1] == 'о'))       /* Русская 'а'. */
            printf("%s\n", word);
 
        word = strtok(NULL, " ");
    }
    
getchar();
getchar();
return 0;
}
суть проги в том,что она выводит слова заканчивающиеся на "о" (работает только с английскими буквами,но не в этом суть)
помогите пожалуйста дописать его так чтобы она выводил число слов оканчивающихся на "о"
т.е. если ввести moloko kino dwagh awerg
выводит слова
moloko
kino
+в конце фразу Количество слов: 2
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2012, 18:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод слов, заканчивающихся на "о" (чуть дописать прогу) (C++):

Определить количество слов в предложении, заканчивающихся на букву "я" - C++
//11. С клавиатуры посимвольно вводится предложение. Определить количество слов в предложении, заканчивающихся на букву &quot;я&quot;. как...

Определить количество слов в предложении, заканчивающихся на букву "я" - C++
С клавиатуры посимвольно вводится предложение. Определить количество слов в предложении, заканчивающихся на букву &quot;я&quot;.

Посчитать в предложении количество слов, заканчивающихся на букву "о" - C++
Всем привет! Помогите решить задачу: Посчитать в предложении количество слов, заканчивающихся на букву &quot;о&quot; Заранее спасибо:)

Определить количество слов, заканчивающихся буквой "а" - C++
Дан набор слов, разделённых точкой с запятой. Набор заканчивается двоеточием. Определить, сколько в нём слов, заканчивающихся буквой...

Считывание слов из потока cin и вывод их в поток cout, с заменой нежелательных слов словом "Bleep" - C++
Напишите программу, заглушающую нежелательные слова; иначе говоря, считайте слова из потока cin и выведите их в поток cout, заменив...

Даны три слова - "мама", "мыла", "раму". Задача - напечатать всевозможные варианты построения слов - C++
Я записал код, однако эту часть надо автоматизировать, поможете? КОД: } #include &lt;iostream&gt; using namespace std; int main()...

6
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
14.12.2012, 18:51 #2
ну это же элементарно, Ватсон -)
создайте переменную, например, cnt целочисленного типа.
и, если выполняется это условие
C++
1
2
         if ((word[strlen(word) - 1] == 'O') ....
            cnt++;
В конце
C++
1
 printf("%d\n", cnt);
1
D@vS
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 32
14.12.2012, 19:34  [ТС] #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 <stdlib.h>
#include <stdio.h>
#include <string.h>
#define STR_LEN 200   /*ГЊГ*ГЄГ±ГЁГ¬Г*ëüГ*Г*Гї äëèГ*Г* ñòðîêè. */
 
int main(void)
{
    int i,cnt;
    char inputStr[STR_LEN];
    char *word;
 
 
    printf("Ââåäèòå ГґГ°Г*çó :\n");
    scanf("%[^\n]", inputStr);
 
    /* Ïðîïóñê îñòГ*ГІГЄГ* ñòðîêè. */
    scanf("%*[^\n]");
    scanf("%*c");
    
    word = strtok(inputStr, " ");   
 
    while (word != NULL)
    {
        if ((word[strlen(word) - 1] == 'O') ||     /* ГЂГ*ëèéñêГ*Гї 'ГЂ'. */
            (word[strlen(word) - 1] == 'ГЋ') ||     /* ГђГіГ±Г±ГЄГ*Гї 'ГЂ'. */
            (word[strlen(word) - 1] == 'o') ||     /* ГЂГ*ëèéñêГ*Гї 'a'. */
            (word[strlen(word) - 1] == 'Г®'))       /* ГђГіГ±Г±ГЄГ*Гї 'Г*'. */
            cnt++;
            printf("%s\n", word);
            printf("%d\n", cnt);
            
        word = strtok(NULL, " ");
        
    }
       
getchar();
getchar();
return 0;
}
теперь после каждого слова выводит разные числа...
походу я не туда вписал
0
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
14.12.2012, 20:14 #4
Конечно!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
     
        if ((word[strlen(word) - 1] == 'O') ||     /* Анлийская 'А'. */
            (word[strlen(word) - 1] == 'О') ||     /* Русская 'А'. */
            (word[strlen(word) - 1] == 'o') ||     /* Анлийская 'a'. */
            (word[strlen(word) - 1] == 'о'))
        {       /* Русская 'а'. */
            cnt++;
            printf("%s\n", word);
        }
 
  printf("%d\n", cnt);
getchar();
getchar();
ret
1
D@vS
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 32
14.12.2012, 20:18  [ТС] #5
выдаёт ошибку на
C++
1
cnt++;
0
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
14.12.2012, 20:19 #6
она не инициализирована.
int i,cnt = 0;
1
D@vS
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 32
14.12.2012, 20:39  [ТС] #7
теперь на последней строчке ret

Добавлено через 11 минут
работаетспасибо
0
14.12.2012, 20:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2012, 20:39
Привет! Вот еще темы с ответами:

Кто нибудь делал прогу "Эмулятор клавиш с промежутком времени между "нажатиями""? - C++
Пара людей заинтересована в таком приложении только с условием: программа должна работать всегда т.е. откыл она записала карту нажатия...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Строки. Поиск одинаковых слов в предложениях. Вывод вместо одинаковых слов "*" - C++
Ввести два предложения, если в них есть одинаковые слова то во втором предложении заменить эти слова на &quot;*&quot;, причем количество &quot;*&quot; должно...

Закончить прогу. Чуть-чуть осталось - C++
Нужно заменить все маленькие латинские буквы на $. Мои наработки: #include &lt;windows.h&gt; #include &lt;cstdlib&gt; #include &lt;iostream&gt; using...


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

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

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