Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C] [Найти слово], Дан текстовый файл 
V
    Опции темы
Revan
Дата 7.6.2009, 21:32 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 12.10.2007
Где: Иваново

Репутация: нет
Всего: нет



Дан текстовый файл. Определить, сколько раз встречается в нем заданное пользователем слово. Вывести на экран номера строк, где это слово найдено (программа должна находить слово независимо от регистра, на котором это слово набрано).

PM MAIL ICQ YIM MSN   Вверх
Dov
Дата 8.6.2009, 11:03 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 50
Всего: 88



Код
int main()
{
    FILE * f;
    char   buf[81];
    char   word[21];
    char * p;
    int    count = 0;
    int    line  = 0;

    f = fopen( "file.txt", "r" );
    if( f == NULL )
    {
        puts( "..." );
        exit( 1 );
    }

    printf( "Enter word: " );
    gets( word );

    cout << "lines: ";
    while( !feof( f ) )
    {
        line++;
        fgets( buf, 81, f );

        if( p = strstr( strlwr( buf ), strlwr( word ) ) )
        {
            cout << line << ' ';
            count++;            
            while( ++p = strstr( p, word ) )
                count++;                
        }
    }
    fclose( f );

    if( !count )
        cout << 0;
    cout << "\ntotal: " << count << endl;

    return 0;
}



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
Revan
Дата 8.6.2009, 15:50 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 12.10.2007
Где: Иваново

Репутация: нет
Всего: нет



А можно на чистом Си переделать...спасибо
PM MAIL ICQ YIM MSN   Вверх
azesmcar
Дата 8.6.2009, 15:50 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 9
Всего: 211



cout замени на printf, будет чистый Си.
PM   Вверх
Revan
Дата 8.6.2009, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 12.10.2007
Где: Иваново

Репутация: нет
Всего: нет



Я так и сделал...но при компиляции программа выдаёт массу ошибок...
PM MAIL ICQ YIM MSN   Вверх
Dov
Дата 8.6.2009, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 50
Всего: 88



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

int main()
{
    FILE * f;
    char   buf[81];
    char   word[21];
    char * p;
    int    count = 0;
    int    line  = 0;

    f = fopen( "file.txt", "r" );
    if( f == NULL )
    {
        puts( "..." );
        exit( 1 );
    }

    printf( "Enter word: " );
    gets( word );

    printf( "lines: " );
    while( !feof( f ) )
    {
        line++;
        fgets( buf, 81, f );

        if( p = strstr( strlwr( buf ), strlwr( word ) ) )
        {
            printf( "%d ", line );
            count++;            
            while( ++p = strstr( p, word ) )
                count++;                
        }
    }
    fclose( f );

    if( !count )
        putchar( '0' );
    printf( "\ntotal: %d\n", count );

    return 0;
}


Какие ошибки выдаёт? Выкладывай.




--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
Revan
Дата 8.6.2009, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 12.10.2007
Где: Иваново

Репутация: нет
Всего: нет



В CodeBlocks всё нормально работает...а в Borland C++  3.1 не хочет запускаться...
PM MAIL ICQ YIM MSN   Вверх
zim22
Дата 9.6.2009, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 16
Всего: 69



Цитата(Revan @  8.6.2009,  16:03 Найти цитируемый пост)
но при компиляции программа выдаёт массу ошибок...

Цитата(Revan @  8.6.2009,  21:08 Найти цитируемый пост)
а в Borland C++  3.1 не хочет запускаться...

так вы определитесь: программа не запускается или при компиляции ошибки выдаёт?
*ошибки нам приводить не надо - мы телепаты, сами догадаемся, угу



--------------------
PM MAIL   Вверх
Revan
Дата 9.6.2009, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 12.10.2007
Где: Иваново

Репутация: нет
Всего: нет



Программа в борланде никак не хочет запускаться...
PM MAIL ICQ YIM MSN   Вверх
andrew_121
Дата 9.6.2009, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 0
Всего: 33



Revan, Читай выше!


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Soah
Дата 9.6.2009, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 18.2.2009

Репутация: 9
Всего: 54



Цитата(zim22 @  9.6.2009,  08:24 Найти цитируемый пост)
мы телепаты, сами догадаемся, угу

неужто не догадался?  smile 


Revan, функция getch(), о чём-нибудь говорит?
PM MAIL   Вверх
Revan
Дата 9.6.2009, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 12.10.2007
Где: Иваново

Репутация: нет
Всего: нет



Но уж я не такой балбес....говорит..толку от  неё нет
PM MAIL ICQ YIM MSN   Вверх
Soah
Дата 9.6.2009, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 18.2.2009

Репутация: 9
Всего: 54



Цитата(Revan @  9.6.2009,  22:47 Найти цитируемый пост)
толку от  неё нет

Код

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
    FILE * f;
    char   buf[81];
    char   word[21];
    char * p;
    int    count = 0;
    int    line  = 0;

    f = fopen( "file.txt", "r" );
    if( f == NULL )
    {
        puts( "error" );
        getch();
        exit( 1 );
    }

    printf( "Enter word: " );
    gets( word );

    printf( "lines: " );
    while( !feof( f ) )
    {
        line++;
        fgets( buf, 81, f );

        if( p = strstr( strlwr( buf ), strlwr( word ) ) )
        {
            printf( "%d ", line );
            count++;            
            while( ++p = strstr( p, word ) )
                count++;                
        }
    }
    fclose( f );

    if( !count )
        putchar( '0' );
    printf( "\ntotal: %d\n", count );

    getch();
    return 0;

}

а так ?

Это сообщение отредактировал(а) Soah - 9.6.2009, 22:58
PM MAIL   Вверх
Revan
Дата 9.6.2009, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 12.10.2007
Где: Иваново

Репутация: нет
Всего: нет



При компиляции и запуске выводит ERROR
PM MAIL ICQ YIM MSN   Вверх
Soah
Дата 9.6.2009, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 18.2.2009

Репутация: 9
Всего: 54



Цитата(Revan @  9.6.2009,  23:15 Найти цитируемый пост)
При компиляции и запуске выводит ERROR

fopen()
Цитата

Если функция fopen() успешно открыла заданный файл, она возвращает указатель FILE. Если файл открыть не удается, возвращается нулевой указатель.

PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0542 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.