Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 01.12.2017, 20:20   #1 (permalink)
boxerwba
Новичок
 
Регистрация: 01.12.2017
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Нужно подсчитать количество вхождений определённого слова

Код:
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>

int main()
{   FILE *myfile;

        int k=0;
        char name[100];
        char word[20];

        printf("Enter name of file: ");
        scanf("%s", name);
        if ((myfile = fopen(name, "r")) == NULL)
        {
         puts ("File is not found");
         exit(0);
        }


        printf("Enter word: ");
        scanf("%s", word);

       return 0;
    }
Помогите дописать код
нужно посчитать количество слова, которое записано в переменной «word», в файле «name»
например ввели слово «dog»
посчитать сколько раз оно повторяеться в файле «new»

Спасибо за внимание и советы!
boxerwba вне форума   Ответить с цитированием

Старый 01.12.2017, 20:20
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Люди уже создавали что то подобное, так что можете почитать

Подсчитать количество слов — правильных идентификаторов языков Си или Паскаль
Подсчитать количество выполнений каждого шага алгоритма
Подсчитать количество точек пересечения прямых
СИ. Удалить слова, которые содержат все повторяющиеся буквы первого слова

Старый 21.12.2017, 03:09   #2 (permalink)
Студент-2000
Member
 
Регистрация: 21.12.2017
Сообщений: 35
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 717
По умолчанию

Не надо считать слова и тем более, не надо писать проверку наличия файла. Начните просто с алгоритма поиска слова в потоке. Читаете посимвольно и сверяете символ с указателем на символ в слове. Изначально указатель ставите на начало слова, с каждым совпадением - продвигаете указатель по слову к концу. Когда указатель достигнет конца слова - слово "нашлось" и увеличиваете счётчик на единицу. Если символ не совпал или достигнут конец слова, указатель возвращаете к началу.
Студент-2000 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Метки
c/linux

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 12:43.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.