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

Найти количество слов, оканчивающихся на мягкий знак - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.83
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
15.05.2012, 11:04     Найти количество слов, оканчивающихся на мягкий знак #1
Дано предложение без знаков препинания. Составить программу поиска количества слов, оканчивающихся на мягкий знак.
Как произвести поиск, что бы считалось количество, только тех слов, которые заканчиваются на мягкий знак???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2012, 11:04     Найти количество слов, оканчивающихся на мягкий знак
Посмотрите здесь:

Определить количество слов в тексте, оканчивающихся на гласную букву C++
Найти количество слов в тексте C++
C++ определить количество слов оканчивающихся на w
C++ Функция, получает строку слов и рзделителей, а на выходе имеет массив слов из строки и количество этих слов
Работа с лентами (Подсчитать количество слов оканчивающихся на букву о) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
15.05.2012, 11:37     Найти количество слов, оканчивающихся на мягкий знак #2
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
#include <stdlib.h>
#include <string.h>
#include <locale.h>
 
int main()
{
    static char text[256] = "\0"; setlocale(LC_ALL,"Russian");
    printf("Введите строку слов длиной не более 256 байт\n"); gets(text);
    
    char** words = (char**)malloc(256 * sizeof(char*));
    char* word = strtok(text," "); int count = 0;
    while ((word != NULL) && (count < 256))
    {
        words[count] = new char[256];
        if (words[count] != NULL) 
            strcpy(words[count++],word);
        word = strtok(NULL," "); 
    }
 
    int wcount = 0;
    for (int index = 0; index < count; index++)
    {
          int pos = strlen(words[index])-1;
          if (*(words[index]+pos) == 'ь') wcount++;
    }   
 
    printf("Число слов заканчивающихся на \'ь\' count = %d\n",wcount);    
 
    free(words);
}
http://liveworkspace.org/code/1c63e9...1b61c15285f27c
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
15.05.2012, 11:54  [ТС]     Найти количество слов, оканчивающихся на мягкий знак #3
zitxbit, ввожу слова с мягким знаком на конце, и выводит 0
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
15.05.2012, 12:08     Найти количество слов, оканчивающихся на мягкий знак #4
Попробуйте пример с использованием англ. букв из http://liveworkspace.org/code/1c63e9...1b61c15285f27c. Вероятнее проблема с locale.
Yandex
Объявления
15.05.2012, 12:08     Найти количество слов, оканчивающихся на мягкий знак
Ответ Создать тему
Опции темы

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