|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.04.2009, 14:37 | #11 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Фишка в том, что у Вас массив заведомо нужного размера (как я понимаю). Массив - это монолитный блок и ему без разницы состоит он из 12 однобайтовых символов или из трех 4-байтных целых чисел. Вы передаёте указатель на начало и просите нужное количество байт и всё. А там хоть структуры в массиве храните
|
01.04.2009, 14:49 | #12 |
Пользователь
Регистрация: 01.04.2009
Сообщений: 20
|
Что сделать, чтоб повысить репутацию пользователя pu4koff?
|
01.04.2009, 17:01 | #13 |
Пользователь
Регистрация: 18.03.2009
Сообщений: 89
|
Molotoff, помнится, делал как-то чтение словаря слов из файла. Это была простая лаб. работа, поэтому заморачиваться не стал - сделал структуру с фиксированной длиной строки и в файле все это хранил одним блоком информации. Чтение вызывал одной операцией. Файл в 50 Мб считывался за долю секунды.
Код:
|
01.04.2009, 17:39 | #14 |
Пользователь
Регистрация: 01.04.2009
Сообщений: 20
|
2Pashan - и тебе спасибо за помощь, просто то, что предложил pu4koff позволило сократить считывание 280 Мб с получаса в моем варианте до 500 миллисекунд
|
02.04.2009, 14:46 | #15 |
Пользователь
Регистрация: 01.04.2009
Сообщений: 20
|
Ребят, теперь у меня другая проблема
По задаче нужно бежать от 0 до 2^32 Код:
посмотрите незамыленным глазом, что-то уже не могу сообразить что делаю не так |
02.04.2009, 16:36 | #16 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Происходит переполнение.
Завершается итерация цикла, когда у нас i = 4294967295 (Лучше использовать макрос UINT_MAX). Потом выполняется инкремент: i_c++, но происходит переполнение и поэтмоу в i_c записывается 0, а не долгожданное 4294967296. Потом выполняется проверка: i_c<4294967296, но ведь ноль меньше этого числа и фактически начинается цикл заново. Как вариант: unsigned long long int i_c. Переполнения не будет. ЗЫ. 1 вопрос - 1 тема |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ввод имя файла | Cdevelop | Общие вопросы C/C++ | 3 | 15.03.2009 12:42 |
Ввод из текстового файла | bygoga | Паскаль, Turbo Pascal, PascalABC.NET | 14 | 23.11.2008 13:37 |
Ввод данных | Илья Кибель | Помощь студентам | 1 | 28.05.2008 11:12 |
Соударение шариков разных размеров и объемов | Стаханов_Андрей | Помощь студентам | 3 | 09.03.2008 17:17 |
Организовать ввод данных с файла созданного в первом задании и вывод их терминал. | Saniok | Помощь студентам | 2 | 25.10.2007 22:25 |