Форум программистов, компьютерный форум CyberForum.ru

Интересный поиск)) Помощь безумно нужна - C++

Восстановить пароль Регистрация
 
Martin Iden
0 / 0 / 0
Регистрация: 22.03.2010
Сообщений: 10
17.06.2010, 17:42     Интересный поиск)) Помощь безумно нужна #1
Такая проблема, если до завтра прогу не напишу, отчислят.

Дан текстовый файл, найти в нём нужное слово. Но сложность в том чтобы не использовать массивы. А без них не могу. Подскажите пожалуйста!!

Заранее спасибо!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2010, 17:42     Интересный поиск)) Помощь безумно нужна
Посмотрите здесь:

С, нужна помощь C++
C++ Поиск в файле... Нужна помощь...
C++ НУЖНА ПОМОЩЬ В С++
Нужна помощь C++
C++ Нужна помощь.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
17.06.2010, 18:06     Интересный поиск)) Помощь безумно нужна #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define FILE_NAME "simple.txt"
 
/* Читает построчно файл и выводит строки, содержащие указанное слово */
int main(void){
    FILE * f;
    char buf[BUFSIZ], wrd[BUFSIZ];
    printf("Word to find: ");
    scanf("%s", wrd);
 
    if ( ( f = fopen(FILE_NAME, "r") ) == NULL ){
        perror("fopen");
        exit(EXIT_FAILURE);
    }
    while ( fgets(buf, BUFSIZ, f) )
        if ( strstr(buf, wrd) )
            printf("%s", buf);
 
    fclose(f);
    exit(EXIT_SUCCESS);
}
Martin Iden
0 / 0 / 0
Регистрация: 22.03.2010
Сообщений: 10
17.06.2010, 18:10  [ТС]     Интересный поиск)) Помощь безумно нужна #3
спасибо, но тут всё равно ведь массивы.
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
17.06.2010, 18:53     Интересный поиск)) Помощь безумно нужна #4
а как ты это представляешь без массивов? по-буквенно? или можно тогда попробовать стринг юзать...
Martin Iden
0 / 0 / 0
Регистрация: 22.03.2010
Сообщений: 10
17.06.2010, 19:35  [ТС]     Интересный поиск)) Помощь безумно нужна #5
побуквенно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
17.06.2010, 19:51     Интересный поиск)) Помощь безумно нужна #6
Martin Iden, а под слово, которое с клавиатуры вводится, что-то вроде
C
1
char c1 = 0, c2 = 0, c3 = 0...
приготовить и потом при чтении по символу как-то так проверять:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int ch;
while ( ( ch = getchar() ) != '\n' ){
  if ( c1 != 0 ){
    if ( c2 != 0 ){
      ....
      if ( c256 != 0 )
        break;
      else
        c256 = ch;
    }
  ...
  else
    c1 = ch;
}
?
Удачи!
maxim5579
1 / 1 / 0
Регистрация: 15.03.2010
Сообщений: 7
18.06.2010, 00:37     Интересный поиск)) Помощь безумно нужна #7
Сделай на стрингах. Прочитай файл в TStringGrid, затем в каждой строке функцией strstr ищи исходный текст. И никаких массивов
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
18.06.2010, 01:17     Интересный поиск)) Помощь безумно нужна #8
Цитата Сообщение от maxim5579 Посмотреть сообщение
Прочитай файл в TStringGrid
Я Вас, видимо, удивлю, но далеко не все пишущие на С/С++ являются счастливыми обладателями легальных/пиратских версий компиляторов Борланд. Так, что, прочитать файл в TStringGrid - предложение, конечно, заманчивое, но не для всех выполнимое...

Вот "на стрингах"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <fstream>
#include <string>
 
int main(){
    const char * file_name = "simple.txt";
    std::string buf, wrd;
    
    std::cout << "Word to find: ";
    std::cin >> wrd;
    
    std::ifstream ifs(file_name);
    if ( ! ifs.is_open() ){
        std::cerr << "Can't open input file!" << std::endl;
        return 1;
    }
    while ( std::getline(ifs, buf) )
        if ( buf.find(wrd) != std::string::npos )
            std::cout << buf << std::endl;
    ifs.close();
    
    return 0;
}
maxim5579
1 / 1 / 0
Регистрация: 15.03.2010
Сообщений: 7
18.06.2010, 14:26     Интересный поиск)) Помощь безумно нужна #9
Sorry! очепяточка вышла. Имелось ввиду TStringList.
Со TStringGrid действительно глупо получилось.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
18.06.2010, 16:48     Интересный поиск)) Помощь безумно нужна #10
Цитата Сообщение от maxim5579 Посмотреть сообщение
Имелось ввиду TStringList
Та же история... Это такая борландовская альтернатива MFC, или что-то вроде того... TStringList и прочее ТЧегоНибудь - это не стандартные элементы С++.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2010, 20:27     Интересный поиск)) Помощь безумно нужна
Еще ссылки по теме:

C++ Нужна помощь
Нужна помощь C++
C++ Нужна помощь

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
maxim5579
1 / 1 / 0
Регистрация: 15.03.2010
Сообщений: 7
18.06.2010, 20:27     Интересный поиск)) Помощь безумно нужна #11
Тогда сорри за "не в тему". Впредь буду внимательнее.
Yandex
Объявления
18.06.2010, 20:27     Интересный поиск)) Помощь безумно нужна
Ответ Создать тему
Опции темы

Текущее время: 22:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru