Здравствуйте. Помогите пожалуйста кое в чём разобраться. Дана задача: Дана последовательность слов (не более 50), в каждом слове не более восьми символов. Слова разделены пробелом, за последним словом стоит точка. Найти те слова, которые отличаются от последнего слова и удовлетворяют следующему условию: первая буква слова входит в него ещё раз.
Программу я написал, но она не работает если вводить строку "mama papa mama." или "papa ......... papa." , вообщем где последнее слово состоит из одной и той же пары букв. Тогда программа выводит также слово, совпадающее с последним. В остальных случаях программа работает. Что же нужно исправить?
Код:
#include <iostream>
#include <conio.h>
#include <string.h>
void main()
{
   setlocale (LC_CTYPE, "Russian");
   const char strRASD[] = " "; 
    char strString[255], strWord[7];
   printf ("Введите строку\n");
   gets(strString);
   strrev (strString);
   char *pslovo = strtok (strnset(strString,' ',1), strRASD);
   strrev (pslovo);
   strcpy (strWord, pslovo);
   printf ("\n Найдены слова по условию:\n");
   while (pslovo = strtok(NULL, strRASD))
   {
      if (strchr(pslovo+1, *strrev(pslovo)))
         printf("%s\n", pslovo);
   }
   _getch();
}