Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Цитата MahovIV:
Программа выглядит вот-так. »
Здесь ищутся слова, а не подстроки. »
Я пробовал сделать вот-так.
Код: Выделить весь код
#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;
                                }
Но не во всех случаях программа выдаёт правильные результаты.
Что я делаю не так?

Отправлено: 13:04, 25-09-2013 | #5