Статистика по файлу

Тема в разделе "Общие вопросы по С и С++", создана пользователем ChAoS, 7 дек 2006.

  1. ChAoS

    ChAoS Гость

    Помогите пожалуйста решить задачу! Надо посчитать, сколько раз каждое слово встречается в текстовом файле. Не могу понять как это делается((
     
  2. Partisan

    Partisan Гость

    Предлагаю завести динамический список,
    в котором узлы состоят из пар: "слово" и "счётчик повторения слова"
    Слово за словом, вычитываешь файл.
    Если прочитанного слова нет в списке, то добавляешь его в список,
    и счётчик для слова ставишь = 1.
    Если слово уже есть в списке, то увеличиваешь счётчик на 1.
    После прочтения последнего слова из файла в узлах списка
    будут слова и количество их повторений в файле.
    При выходе из программы не забудь удалить динамически выделенную память (если, конечно, она выделялась).
     
  3. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    <!--QuoteBegin-Partisan+8:12:2006, 00:06 -->
    <span class="vbquote">(Partisan @ 8:12:2006, 00:06 )</span><!--QuoteEBegin-->Предлагаю завести динамический список,
    в котором узлы состоят из пар: "слово" и "счётчик повторения слова"
    [snapback]50184" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Тогда уж лучше воспользоваться std::map
     
  4. ChAoS

    ChAoS Гость

    Спасибо большое! Попытаюсь сделать так.
    Кчстати, может тут можно что-нибудь замутить используя функцию strtok?
     
  5. ChAoS

    ChAoS Гость

    На счет std::map: данная программа должна быть консольным приложением Linux, а там , на сколько я знаю, С++ не катит. Исправьте, пожалуйста, если я не прав
     
  6. Kmet

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    Для: ChAoS
    ыыы во новость=) Со всей ответсвенность заявляю катит.
     
  7. ChAoS

    ChAoS Гость

    Для: Kmet
    Может тогда объяснишь, почему не работают элементарные cin и cout?
     
  8. Kmet

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    хз что у тебя не работает, как ты запускаешь и чем ты компилируешь.
     
  9. Partisan

    Partisan Гость

    Специально для тебя рыл инет, и нашёл какую-то статью:
    http://home.online.no/~osmoma/g++stl.html.html
    Думаю, что это то, что тебе надо.
     
  10. ChAoS

    ChAoS Гость

    Для: Kmet
    В универе заставляют писать проги в каком-то долбаном редакторе Kate. Не понимаю, кому это счас надо. Так в этом Кейте только С работает.

    Для: Partisan
    Спасибо! Попробую разобраться.
     
  11. ChAoS

    ChAoS Гость

    Вот написал прогу, которая считает количество симвоолов в каждой строке и всего в файле, а потом записывает эти данные в другой файл. Переделайте пожалуйста ее, чтоб делала тоже самое, но со словами. С меня пиво
    #include<stdio.h>
    #include<stdlib.h>
    #include<stdlib.h>
    main(int argc, char* argv[])
    {
    FILE *inf, *wrt;
    char c;
    unsigned int i=0, count=0, cc=0;
    inf=fopen(argv[1],"r");
    wrt=fopen(argv[2],"w");
    if(inf==NULL || wrt==NULL) {
    printf("Íåâîçìîæíî îòêðûòü ôàéë %s\n", argv[1]);
    exit(1);
    }
    while(!feof(inf))
    {
    c=fgetc(inf);
    while(c!=10 && !feof(inf))
    {
    c=fgetc(inf);
    count++;
    cc++;
    }
    if(count!=0) {
    i++;
    fprintf(wrt,"%d. ",i);
    fprintf(wrt,"%d\n",count);
    }
    }
    fprintf(wrt,"Itogo: %u strok, %u simvolov\n", i, cc);
    fclose(inf);
    fclose(wrt);
    }
     
  12. Kmet

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    <!--QuoteBegin-ChAoS+10:12:2006, 01:36 -->
    <span class="vbquote">(ChAoS @ 10:12:2006, 01:36 )</span><!--QuoteEBegin-->В универе заставляют писать проги в каком-то долбаном редакторе Kate. Не понимаю, кому это счас надо. Так в этом Кейте только С работает.
    [snapback]50299" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Обычно под никсы программируется связкой редактор(vim, emacs,...), make, gcc. так информация о редакторе мне ничего не сказала. Скорее всего тебе надо править makefile и разбираться с ключами компилятора
     
  13. ChAoS

    ChAoS Гость

    Вем еще раз спасибо за помощь! Прогу сдал :blink:
     
Загрузка...

Поделиться этой страницей