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

zeitgesterz

New member
09.12.2014
1
0
#1
Код:
#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"
 
W

Whatka

#2
У вас практически правильно.Я немного поправил.
Обратите внимание на функцию 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;
}