Дан текст без знаков препинания. Между словами может быть только 1 пробел. Определить...

0 голосов
35 просмотров

Дан текст без знаков препинания. Между словами может быть только 1 пробел. Определить какой процент слов в тексте сожержит хотя бы 1 букву "d".


Информатика (52 баллов) | 35 просмотров
Дан 1 ответ
0 голосов

#include
using std::cout;
using std::cin;
using std::endl;
using std::fixed;
#include
using std::strcpy;
#include
using std::setprecision;

int main()
{
    char s[100], temp[100];
    int counter = 0, counter1 = 0;

    cout << "Enter the string: ";<br>    cin.getline(s, 100);

    strcpy(temp, s);

    //Определяем общее количество слов
    //и количество слов с буквай d
    char *ptr = strtok(temp, " ");
    while(ptr)
    {
        for(int i = 0; *(ptr + i) != NULL; i++)
        {
            if(*(ptr + i) == 'd')
            {
                counter1++;

                break;
            }
        }

        counter++;

        ptr = strtok(NULL, " ");
    }

    cout << setprecision(2) << fixed << (counter1 * 100 / double(counter)) << '%' << endl;<br>
    return 0;
}


image
(2.0k баллов)