0 / 0 / 0
Регистрация: 18.08.2016
Сообщений: 6
1

Поиск максимального элемента в файле

20.09.2017, 14:11. Показов 2291. Ответов 4
Метки нет (Все метки)

Доброго времеи суток. Не подскажие, как осуществить поиск максимального элемета из записаных в файл. В файле 5 столбиков чисел типа double, нужно найти наибольший в четвертом (и только в нем). Я бы записал числа в массив, но проблема в том, что объем файла 10ГБ, а именно, в каждом столбике по миллиарду чисел (10^9), но файл может быть и больше. У меня всего оперативной памяти 2ГБ, так что за раз все не обработать, разве что перебором по одому числу, но это сильно не эффективно по времени.
Буду призателен, если будут примеры на C или C++ или ссылки на методы оптимального поиска.
И попутно - можно ли считать сразу четвертое число из файла, чтобы не перебирать их все?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2017, 14:11
Ответы с готовыми решениями:

Поиск максимального числа в текстовом файле
Всем привет! Нужна помощь по поиску максимального числа в тестовом файле. Искал в нете и ничего...

Поиск максимального элемента
Нужна сделать поиск максимального элемента массива путем деления пополам не через рекурсию, а через...

Поиск максимального элемента массива
Задание из ОГЭ , требуется написать, какое число выведет программа. Почему выводит 41 а не 20, ведь...

Поиск максимального элемента по модулю
Дана целочисленная прямоугольная матрица А. Составить новую матрицу В из тех строк матрицы А,...

4
3528 / 2172 / 400
Регистрация: 09.09.2017
Сообщений: 8,975
20.09.2017, 16:08 2
Если скорость доступа настолько критична, можно использовать отображение файла на память (memory mapping, команда mmap() ).
Если ширина столбиков фиксирована и известна (я бы не стал на такое полагаться), вместо этого можно использовать fseek().
0
189 / 177 / 111
Регистрация: 22.06.2009
Сообщений: 533
20.09.2017, 19:56 3
Цитата Сообщение от JonyCage Посмотреть сообщение
Доброго времеи суток. Не подскажие, как осуществить поиск максимального элемета из записаных в файл. В файле 5 столбиков чисел типа double, нужно найти наибольший в четвертом (и только в нем).
то ли я тормоз то ли лыжи ни едут.. Как это "столбики" эксель ???

прикрепите маленький пример файла..


А так, я бы разбил все по небольшим порциям, потом из каждой порции взял бы максимальное значения, которые заного превратил в порции, и так до конца..
0
0 / 0 / 0
Регистрация: 18.08.2016
Сообщений: 6
20.09.2017, 21:16  [ТС] 4
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
можно использовать отображение файла на память (memory mapping, команда mmap() ).
Спасибо, почтаю подробней, может поможет.
Цитата Сообщение от worldown Посмотреть сообщение
прикрепите маленький пример файла..
Вот пример на 5 чисел. То, что в четвертом максимальным является именно последний - случайно.
Вложения
Тип файла: txt example.txt (535 байт, 14 просмотров)
0
189 / 177 / 111
Регистрация: 22.06.2009
Сообщений: 533
20.09.2017, 22:32 5
JonyCage, Т.е в таком формате будут данные идти, верно??
В таком случае можно
Создаем две переменные
double current = 0
double max = 0
1) считываем строку начиная с 66 позиции по 117
2) заносим данные в переменную current
3) сравниваем if(current>max) max = current;
4) переносим коретку на новую строку,
5) начинаем с пункта 1)

В конце концов получим max, как результат максимального значения..
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.09.2017, 22:32
Помогаю со студенческими работами здесь

Поиск максимального элемента массива
Всем вечер добрый Вот моя ситуация: дано два одномерных массива А и Б допустим как мне найти ...

Поиск максимального элемента вектора
Написала программу поиска максимального элемента вектора, только теперь её надо переделать немного...

Поиск максимального элемента дерева
Добрый день! Помогите пожалуйста реализовать поиск максимального элемента в дереве.

Осуществить поиск индекса максимального элемента
Нужно найти индекс макс. эл-та. Ошибку я нашел, а вот как ее исправить - не знаю. #include...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru