Оно работает. Серьезно.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
void main()
{
clrscr();
char s[1000];
printf("Vvedite stroku:\n");
gets(s);
int l=strlen(s),i=3,r,size=1;
char **parr=(char **)malloc(size*2);
while(i<l-2)
{
r=1;
while(s[i-r]==s[i+r])
{
r++;
}
if (r>=3)
{
parr[size-1]=s+i-r+1;
parr=(char **)realloc(parr,++size*2);
i+=r;
}
i++;
}
parr[size-1]=NULL;
for(i=0;parr[i]!=NULL;i++) printf("%s\n",parr[j]);
free(parr);
getch();
}