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

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

Восстановить пароль Регистрация
 
D@vS
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 32
14.12.2012, 18:43     Вывод слов, заканчивающихся на "о" (чуть дописать прогу) #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
#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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2012, 18:43     Вывод слов, заканчивающихся на "о" (чуть дописать прогу)
Посмотрите здесь:

C++ Закончить прогу. Чуть-чуть осталось
кто нибудь делал прогу на С++ "Эмулятор клавиш с промежутком времени между "нажатиями""?! C++
Определить количество слов, заканчивающихся буквой "а" C++
C++ Посчитать в предложении количество слов, заканчивающихся на букву "о"
C++ Определить количество слов, которые содержат ровно четыре буквы "о", "О"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
14.12.2012, 18:51     Вывод слов, заканчивающихся на "о" (чуть дописать прогу) #2
ну это же элементарно, Ватсон -)
создайте переменную, например, cnt целочисленного типа.
и, если выполняется это условие
C++
1
2
         if ((word[strlen(word) - 1] == 'O') ....
            cnt++;
В конце
C++
1
 printf("%d\n", cnt);
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;
}
теперь после каждого слова выводит разные числа...
походу я не туда вписал
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
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
D@vS
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 32
14.12.2012, 20:18  [ТС]     Вывод слов, заканчивающихся на "о" (чуть дописать прогу) #5
выдаёт ошибку на
C++
1
cnt++;
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
14.12.2012, 20:19     Вывод слов, заканчивающихся на "о" (чуть дописать прогу) #6
она не инициализирована.
int i,cnt = 0;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2012, 20:39     Вывод слов, заканчивающихся на "о" (чуть дописать прогу)
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
D@vS
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 32
14.12.2012, 20:39  [ТС]     Вывод слов, заканчивающихся на "о" (чуть дописать прогу) #7
теперь на последней строчке ret

Добавлено через 11 минут
работаетспасибо
Yandex
Объявления
14.12.2012, 20:39     Вывод слов, заканчивающихся на "о" (чуть дописать прогу)
Ответ Создать тему
Опции темы

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