Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
D@vS
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 32
1

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

14.12.2012, 18:43. Просмотров 391. Ответов 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
Ответы с готовыми решениями:

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

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

Посчитать в предложении количество слов, заканчивающихся на букву "о"
Всем привет! Помогите решить задачу: Посчитать в предложении количество слов,...

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

Класс "Телефонная книга". Дописать методы, "поиск" и "удаления" абонента
Вот код класса, который должен предоставьте пользователю возможность добавлять...

6
Afflicted
Обитатель форума
199 / 182 / 54
Регистрация: 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 / 54
Регистрация: 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 / 54
Регистрация: 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

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

Даны три слова - "мама", "мыла", "раму". Задача - напечатать всевозможные варианты построения слов
Я записал код, однако эту часть надо автоматизировать, поможете? КОД: }...

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


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

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

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