В Произвольном Тексте Найти И Отпечатать Слова, Содержащие Букву I, Но

Тема в разделе "C/C++/C#", создана пользователем zeitgesterz, 9 дек 2014.

  1. zeitgesterz

    zeitgesterz New Member

    Регистрация:
    9 дек 2014
    Сообщения:
    1
    Симпатии:
    0
    Код ( (Unknown Language)):
    #include <stdio.h>
    #include <string.h>

    main()
    {
    char str1[80]; str2[80];
    char* t;
    printf("\n");
    printf("\nVvedite stroku:\n");
    gets(str);
    t=strtok(str,"!?.,");
    printf("\n");
    while (t != '\0') {
    if(t[strlen(t)] >= 'i' && t[strlen(t)] <= 'm' )
    {
    printf("\nSlovo: %s",t);
    }
    t = strtok ('\0', "!?.,");
    }

    printf("\n");
    }
    Есть наброски, но не могу понять, как задать условие, чтобы при вводе слов программа выводила только слова с буквой "i" , но не выводила с буквой "m"
     
  2. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    У вас практически правильно.Я немного поправил.
    Обратите внимание на функцию strcspn
    Код (C++):
    #include <stdio.h>
    #include <string.h>

    int main()
    {
    char str[80];
    printf("\nPut the string:\n");
    gets(str);
    char * pch;
    printf("\nWords with \"i\" into string\"%s\":\n", str);
    pch = strtok(str, " ,.-!?");
    while (pch != NULL)
    {
    if (strlen(pch) != strcspn(pch, "i"))
    printf("%s\n", pch);

    pch = strtok(NULL, " ,.-!?");
    }
    return 0;
    }
     
Загрузка...

Поделиться этой страницей