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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
VorobeY1326
Ученик 11 класса)
4 / 4 / 0
Регистрация: 11.04.2009
Сообщений: 67
#1

Длинный файл)) - C++

12.05.2009, 18:44. Просмотров 565. Ответов 4
Метки нет (Все метки)

Доброго времени суток, господа!
Подскажите, почему файл читается некоторое время, а потом перестает..
Код(slovr - открытый на чтение файл):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
while (! slovr.eof())
    {
        slovr.getline(buf,26);
        if (strlen(buf)!=dlina)
        continue;
        norm=1;
        for (int i = 0; i <= knowb-1; i++)
        {
            if (slovo[knowm[i]]!=buf[knowm[i]])
            {
            norm=0;
            break;
            }   
        }
        if (norm==1)
        {
        cout << buf;
        cout << endl;
        }
    }
Суть в том, что цикл должен читать строки со словами из файла и сравнивать их с заданным словом, НО после где-то 2000 строк слова перестаются адекватно читаться..
В чем проблема? В большом размере файла? Если да, то как исправить?
Подскажите, пожалуйста! Заранее спасибо!!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2009, 18:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Длинный файл)) (C++):

Среди файлов, расположенных в каталоге найти самый длинный файл - C++
б) Среди файлов, расположенных в каталоге c:\Winnt найти самый длинный файл.

Длинный НОД - C++
Даны два числа. Найти их наибольший общий делитель. Формат входных данных Вводятся два натуральных числа, не превышающих 10^9 (запись...

Длинный факториал - C++
Здравствуйте уважаемые форумчане!, Помогите реализовать программу длинного факториала, очень нужно.

Длинный путь - C++
Имеется n городов пронумерованных от 1 до n и m соединяющих дорог. Расстояния между любыми двумя городами равны 1. Найти длину пути между...

Самый длинный палиндром - C++
Помогите написать но только в stdio.h Самый длинный палиндром Палдиндром это число которое читается и налево одинаково и на право к...

Укоротить более длинный контейнер - C++
Здравствуйте, написал по заданию Липманна небольшую программку, которая сверяет элементы двух контейнеров: встроенного массива и вектора. У...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
12.05.2009, 18:52 #2
нафига в цикле двойная индексация?
и сравнение с dlina?

... цикл должен читать строки ...
... слова перестаются адекватно читаться ...
э-э.. ты бы определился, что именно ты читаешь из файла...
0
VorobeY1326
Ученик 11 класса)
4 / 4 / 0
Регистрация: 11.04.2009
Сообщений: 67
12.05.2009, 20:27  [ТС] #3
Цитата Сообщение от Rififi Посмотреть сообщение
э-э.. ты бы определился, что именно ты читаешь из файла...
Там в каждой строке по слову.

Цитата Сообщение от Rififi Посмотреть сообщение
нафига в цикле двойная индексация?
и сравнение с dlina?
Там фишка, что известна длина слова и некоторые буквы и надо его найти в словаре.

Добавлено через 1 час 30 минут 39 секунд
А все понял, проблема не в файле))
Просто слово больше 26 букв -> превысился размер массива buf..))
Щас больше сделаю! Никогда бы не подумал, что слово может быть длинее 26 букв..))
0
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
12.05.2009, 20:37 #4
вот поэтому лучше юзать вектор с функцией at(), либо итераторы в отладочном режиме - они эту кривизну сами ловят.
0
VorobeY1326
Ученик 11 класса)
4 / 4 / 0
Регистрация: 11.04.2009
Сообщений: 67
12.05.2009, 21:12  [ТС] #5
Я бы с удовольствием, но маленький ещё))

Добавлено через 3 минуты 34 секунды
Вопрос не в тему..
Не понял фишки - запускаю программу через среду программирования - все нормально, создаю файл *.exe, запускаю, выдает ошибку - отсутствие файла, который используется в программе!! Хотя вроде бы файл лежит в той же папке, что и *.exe!!
В чем проблема?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2009, 21:12
Привет! Вот еще темы с ответами:

Вывести самый длинный палиндром - C++
Имеется файл-словарь, в котором записаны слова-палиндромы, как найти и вывести их них самый длинный. Программа просто выводит какое слово...

Найти самый длинный отрезок - C++
длины отрезка заданы координатами концов.найти самый длинный отрезок.решить с помощью функций. заранее большое спасибо!

Обработать очень длинный одномерный вектор - C++
Доброго времени суток. Необходимо обработать одномерный вектор. Вектор имеет очень большую длину и не влезает в одно направление блока: ...

Найти самый длинный палиндром предложения и напечатать его - C++
2.В предложении слова отделяются друг от друга одним или большим числом пробелов. Палиндромом называется слово, которое читается одинаково...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.05.2009, 21:12
Ответ Создать тему
Опции темы

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