Цитата Iska:
Цитата MahovIV:
Программа выглядит вот-так. »
Здесь ищутся слова, а не подстроки. »
|
Я пробовал сделать вот-так.
Код:
![Выделить весь код](images/misc/selectcode.png)
#include <stdio.h>
#include <string.h>
#include <conio.h>
int HowMany(char string[], char word[]) {
char *p = strstr(string, word);
if(!p)
return 0;
return 1 + HowMany(p + strlen(word), word);
}
int HowMany(char *, char *);
int main() {
int i, j = 0, k = 0, pr = 0, mn = 0;
char s[100], c[100];
gets(s);
while(j < strlen(s)) {
while(k < strlen(s)) {
for(i = 0; i < strlen(s); i++) {
c[i] = s[i + k];
}
mn = strlen(c);
pr = HowMany(s, c);
if(pr >= 2) {
break;
}
delete(c);
k++;
}
delete(c);
k = 0;
j++;
}
if(pr >= 2) {
printf("%d\n", mn);
}
else {
printf("0\n");
}
getch();
return 0;
}
Но не во всех случаях программа выдаёт правильные результаты.
Что я делаю не так?