Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/34: Рейтинг темы: голосов - 34, средняя оценка - 4.91
0 / 0 / 5
Регистрация: 14.12.2015
Сообщений: 186

Сортировка данных в бинарном файле

16.05.2016, 16:57. Показов 6983. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
нужно отсортировать данные бинарного файла по возростанию цены(s_price)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
ifstream s_file;
    s_file.open("service.dat", ios::binary);
    if (!s_file){
        cout << "Error! File not found!" << endl;
    }
    else{
        s_file.seekg(0, ios::end);
        int size = s_file.tellg();
        size = size / sizeof(sport_complex::services);
        s_file.seekg(0, ios::beg);
        sport_complex::services *SRS = new sport_complex::services[size];
        s_file.read((char*)SRS, size*sizeof(sport_complex::services));
        s_file.close();
        for (int i = 0; i < size; i++){
            //как это сделать?
        }
    }
Добавлено через 17 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
struct sport_complex{
    struct trainers{
        char t_name[255];
        char t_surname[255];
        char t_service[255];
    };
    struct services{
        char s_name[255];
        char s_description[255];
        float s_price;
    };
    struct clients{
        char c_name[255];
        char c_surname[255];
        char c_service[255];
    };
};
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.05.2016, 16:57
Ответы с готовыми решениями:

Сортировка в бинарном файле
Люди подскажи те как мне сделать то что от меня требует препад, он говорит сделать отсортировку информации в самом бинарном файле. я не...

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

Сортировка структуры в бинарном файле
приветствую всех! появилась небольшая заминка у меня - немогу сравнить значения структуры, для того, чтоб отсортировать ее в бинарном...

2
 Аватар для SergioO
261 / 209 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
16.05.2016, 17:02
blocker147, смотрим std:: sort(), std::qsort(); std::stable_sort() и тд
если файл сильно большой и важна скорость, то MSD, LSD
если данные располагаются в случайном порядке, то std::qsort(), если почти упорядочены, то лучше сортировка вставками...
быстрая сортировка
а вот как - сами уж думайте.

Добавлено через 3 минуты
вижу float - qsort, если случайное распределение и вставками, если почти упорядочено
0
0 / 0 / 5
Регистрация: 14.12.2015
Сообщений: 186
19.05.2016, 12:23  [ТС]
отсортировал пузырёчком
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
25
26
27
28
29
30
31
void sorting1(){
    ifstream s_file;
    s_file.open("service.dat", ios::binary);
    if (!s_file){
        cout << "Error! File not found!" << endl;
    }
    else{
        s_file.seekg(0, ios::end);
        int size = s_file.tellg();
        size = size / sizeof(sport_complex::services);
        s_file.seekg(0, ios::beg);
        sport_complex::services *SRS = new sport_complex::services[size];
        s_file.read((char*)SRS, size*sizeof(sport_complex::services));
        s_file.close();
        for (int i = 0; i < size - 1; i++){
            for (int j = size - 1; j > i; j--){
                if (SRS[j].s_price<SRS[j-1].s_price){
                    float temp = SRS[j].s_price;
                    SRS[j].s_price = SRS[j - 1].s_price;
                    SRS[j - 1].s_price = temp;
                }
            }
        }
        for (int i = 0; i < size; i++){
            cout << "\tService name: " << SRS[i].s_name << endl;
            cout << "\tService description: " << SRS[i].s_description << endl;
            cout << "\tService price: " << SRS[i].s_price << endl;
            cout << endl;
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.05.2016, 12:23
Помогаю со студенческими работами здесь

Сортировка данных в бинарном файле
Столкнулся с проблемой сортировки данных прямо внутри бинарного файла,в котором хранятся структуры вида: struct cNode{ int id; ...

Сортировка элементов в бинарном файле
Дан бинарный файл целых чисел. Поменять в нем местами минимальное и максимальное значения среди четных элементов. То же самое выполнить для...

Замена данных в бинарном файле
Имеется файл размером несколько гигабайт, необходимо заменить у него кусок 4194304б из середины. Известен номер байта с которого надо...

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

Сортировка данных в файле
У меня есть написанная программа. Открывает текстовые файлы, сортирует в них данные. Помогите дописать корректировку данных, при нажатии...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru