 /* В заданном предложении найти пару слов, из которых одно
 является обращением другого */
#include <stdio.h>
#include <string.h>
#define R "., ;:'\"()!?"   /* символы - разделители */
main()
{
   char s[100],c[100],*p[50],*q;
   int i=0,j,k,n,fl=0;
   puts("\nВведите предложение");
   gets(s);   /* ввод предложения */
   q=strtok(s,R);
   while(q) /* разбиваем предложение на слова */
   {
      p[i++]=q;
      q=strtok(NULL,R);
   }
   for(j=0;j<i;j++)    /* перебираем слова */
   for(k=j+1;k<i;k++)
   {
      if(!fl)     /* проверка флага */
      {
	 for(n=0;n<strlen(p[k]);n++)  /* переворачиваем слово */
	 {
	    c[n]=*(p[k]+(strlen(p[k])-n-1));
	 }
	 c[n]='\0';
	 if(!strcmp(c,p[j]))  /* если слова одинаковы, то выводим */
	 {
	    puts("Ответ:");
	    puts(p[j]);
	    puts(p[k]);
	    fl=1; /* устанавливаем флаг */
	 }
      }
   }
   if(!fl) puts("\nНет таких слов");
}
