Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Martin Iden
0 / 0 / 0
Регистрация: 22.03.2010
Сообщений: 10
1

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

17.06.2010, 17:42. Просмотров 686. Ответов 10
Метки нет (Все метки)

Такая проблема, если до завтра прогу не напишу, отчислят.

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

Заранее спасибо!!

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2010, 17:42
Ответы с готовыми решениями:

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

Нужна помощь с программой
ПРограмма должна выполнять расчет коэффициентов характеристического полинома...

нужна помощь по л.р. (вопросы)
значит ниже задания, в 3. и 4. нужно найти ошибки а рядом написать правильный...

CALLBACK. Нужна помощь
Всем привет! Есть такой код: class ExpressionCalculator { private:...

Нужна помощь с комментариями.
Нужны комментарии и сделать так, чтобы вводилось только пятизначное число....

10
easybudda
Модератор
Эксперт CЭксперт С++
10148 / 6055 / 1522
Регистрация: 25.07.2009
Сообщений: 11,476
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);
}
0
Martin Iden
0 / 0 / 0
Регистрация: 22.03.2010
Сообщений: 10
17.06.2010, 18:10  [ТС] 3
спасибо, но тут всё равно ведь массивы.
0
Mur3ik
102 / 102 / 23
Регистрация: 12.05.2010
Сообщений: 232
17.06.2010, 18:53 4
а как ты это представляешь без массивов? по-буквенно? или можно тогда попробовать стринг юзать...
0
Martin Iden
0 / 0 / 0
Регистрация: 22.03.2010
Сообщений: 10
17.06.2010, 19:35  [ТС] 5
побуквенно
0
easybudda
Модератор
Эксперт CЭксперт С++
10148 / 6055 / 1522
Регистрация: 25.07.2009
Сообщений: 11,476
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;
}
?
Удачи!
0
maxim5579
1 / 1 / 0
Регистрация: 15.03.2010
Сообщений: 7
18.06.2010, 00:37 7
Сделай на стрингах. Прочитай файл в TStringGrid, затем в каждой строке функцией strstr ищи исходный текст. И никаких массивов
0
easybudda
Модератор
Эксперт CЭксперт С++
10148 / 6055 / 1522
Регистрация: 25.07.2009
Сообщений: 11,476
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;
}
0
maxim5579
1 / 1 / 0
Регистрация: 15.03.2010
Сообщений: 7
18.06.2010, 14:26 9
Sorry! очепяточка вышла. Имелось ввиду TStringList.
Со TStringGrid действительно глупо получилось.
0
easybudda
Модератор
Эксперт CЭксперт С++
10148 / 6055 / 1522
Регистрация: 25.07.2009
Сообщений: 11,476
18.06.2010, 16:48 10
Цитата Сообщение от maxim5579 Посмотреть сообщение
Имелось ввиду TStringList
Та же история... Это такая борландовская альтернатива MFC, или что-то вроде того... TStringList и прочее ТЧегоНибудь - это не стандартные элементы С++.
0
maxim5579
1 / 1 / 0
Регистрация: 15.03.2010
Сообщений: 7
18.06.2010, 20:27 11
Тогда сорри за "не в тему". Впредь буду внимательнее.
0
18.06.2010, 20:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2010, 20:27

Нужна помощь с MD5 на Си/Си++
Мне нужны либо библиотеки, в которых реализована функция-аналог md5() на PHP,...

Нужна помощь с ассемблером.
Пыталась сама написать, да что-то не очень у меня получается. Задание состоит...

Нужна помощь Строки.
Составить программу вывода последовательности символов ZYYXXX...AA..AA Y на...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru