С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

(STL LIST SORT) Сортировка по некольким критериям - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ MySQL и C++ http://www.cyberforum.ru/cpp-beginners/thread44374.html
Здравствуйте! Извените пожалуйста за может быть несколько по дилетантски поставленный вопрос но может кто подскажет как связать MySQL и C++ ну что бы считать оттуда данные!!
C++ Среднее арифметическое Ситуация такая. В данной программе я нахожу среднее арифметическое стольки чисел, скольких введу. Проблемма в том, что при вводе одного числа, чтоб ввести другое, мне нужно, ввести "yes",если я введу... http://www.cyberforum.ru/cpp-beginners/thread44352.html
проблемы с русским языком C++
помогите пожалуйста как подключить заголовочный фаил русского языка или что там надо зделать ? :help:
C++ Счет чисел в массиве
Здравствуйте! Мой счетчик что то не работает. const int size=255; char c; int k, i, j, count; count=0; cout << "Enter text:\n"; cin.getline(c, size);
C++ Использование метода getche() http://www.cyberforum.ru/cpp-beginners/thread44285.html
system("pause"); return 0; }
C++ Перебор списка При переборе списка компилятор ругается на строчку "printf("%i", index->geti());" MyClass::geti' : cannot convert 'this' pointer from 'const MyClass' to 'MyClass &' Объясните, пожалуйста кто сможет... подробнее

Показать сообщение отдельно
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
20.07.2009, 07:32
ну, он предложил сделать многоэтажный if
который будет пропорционален этой конструкции

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct PackObject
{
    bool            Placed;         // Помещен ли на карту текстур
    string          SceneAlias;     // Имя сцены
 
    string          TexFile;
    int             TexWidth;
    int             TexHeight;
    bool            TexMipMap;
    bool            TexGray;
    bool            TexJpeg;
 
    string          ObjAlias;          // Имя родительского объекта
    TRect           ObjRect;
    int             AniFrameNumber;    // Порядковый номер кадра
    int             AniFrames;
    int             AniFramesPerLine;
};
короче говоря, из-за этого if'а ты её не сможешь расширять, если вдруг тебе понадобится не пять полей а пятьсот - можешь забыть

я писал нечто подобное когда нужно было проводить такие сортировки, у меня была функция сортировки, но она знала откуда и докуда сортировать, а ей передавался указатель на свапер, который знал какие поля менять местами
и функция подсчёта полей, которая принимала указатель на функцию для определения одинаковости полей, которая могла посчитать эти границы

в итоге там расширение свелось к тому, чтобы продлить цикл сортирования, написать функцию сравнения для определения одинаковости, и функцию перестановки для определённого поля
так можно было добавить любое поле

ну и переделать, когда бывает нужно переделать, тоже было легко и просто, потому что всё это было собрано по частям, отдельным и самостоятельным

Добавлено через 23 минуты 24 секунды
а, ну ясно, это я попутал насчёт многоэтажки
он юзает короче передачу двух объектов в функцию и сравнения каждого поля, так что насчёт расширяемости у него всё нормально

Добавлено через 2 часа 41 минуту 40 секунд
короче, суть в том чтобы сортировать колонки постепенно и отсортированное оставлять, а неотсортированное сортировать
и функция сортировки свой фокус перемещает за счёт маленьких функций, которые и определяют одна - где начинать сортировку и докуда проводить, а вторая - какие менять элементы, в какой колонке
ну, там задача была другая (не было чёткого формата, количество колонок могло меняться, очерёдность тоже - нужно было всё учесть заранее чтобы не переписывать десять раз)
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.