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

Сортировка по алфавиту - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Поясните код 0[&x] http://www.cyberforum.ru/cpp-beginners/thread951650.html
int x = 5; 0 = x + x; std::cout<<x; Выводится 10. Чтобы мы собственно делаем во второй строчке?
C++ Создать новый список, имеющий элементы, которые есть в обоих списках По какой то причине не работает функция в списке. Задача такая: Дано два списка числами. Создать новый список который имеет такие элементы которые есть в обоих списках. Функция Compare сравнивает два списка и выводит общие значения. Но когда я пытаюсь добавить их в список они добавляются только в функции и после выхода из нее список очищается. Может кто знает как это решается? ... http://www.cyberforum.ru/cpp-beginners/thread951605.html
C++ Бесплатная русифицированная среда разработки
Здравствуйте! Начал учить С++ и теперь понадобился компилятор для него на Windows. Кто-нибудь подскажите простой (максимально), бесплатный и желательно русифицированный компилятор.
C++ Использования Unicode в консоле
Здравствуйте, скажите пожалуйста, что нужно сделать что б в консольной программе отображались символы Юникода (например ♞) Я уже перепробывал очень много решений, но все равно не работает. При добавлении этих строчек в код SetConsoleCP(CP_UTF8); SetConsoleOutputCP(CP_UTF8); У меня вместо символов отображаются прямоугольники.
C++ private, protected, public http://www.cyberforum.ru/cpp-beginners/thread951580.html
class test { public: test(); int getPrivate(); int vpublic; protected: int vprotected; private: int vprivate;
C++ Winsock. Recv с ошибкой 10053(WSAECONNABORTED) Приветствую. Сначала отсылаю запрос на сервер, получаю ответ, обрабатываю. Всё хорошо, но вот после отправки второго запроса, получение ответа завершается с ошибкой 10053(WSAECONNABORTED). Извиняюсь за неразборчивый код, только учусь. Основа кода взял с msdn. Весь код: #define WIN32_LEAN_AND_MEAN #include <windows.h> подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6159 / 2888 / 282
Регистрация: 04.12.2011
Сообщений: 7,687
Записей в блоге: 3
10.09.2013, 22:10     Сортировка по алфавиту
Jamguranga, данные поместите в структуру:
напишите функцию сравнения возвращающую bool в которой отразите логику сравнения по двум параметрам и используйте в операторе if
Цитата Сообщение от Jamguranga Посмотреть сообщение
C++
1
if (fcomparer(stud[n+1], stud[n]))
соответственно stud это массив структур.
Вот пример с вектором таких структур и сортировкой sort из STL <algorithm>
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
]
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <windows.h>
using namespace std;
struct Student
{   
    string name;
    int month;    
    Student();
    Student(const string n, int month_);
    
     void show(){cout<<name<<" "<<month<<endl;};
     ~Student(){};
static  int Compirer(Student *one, Student *two);
};
 
int Student::Compirer(Student *one, Student *two){
    if(one->month == two->month)
        return (one->name.compare(two->name.c_str())>0)? 0:1;
    else
        return (one->month > two->month)? 0 : 1;
}
 
Student::Student()
{}
Student::Student(const string n, int id_):name(n), month(id_)
{}
 
int main(){
SetConsoleCP (1251); SetConsoleOutputCP (1251);
Student st("Vasya", 1);
Student st1("Basya", 2);
Student st2("Basya", 3);
Student st3("Alice", 3);
Student st4("Sonya", 4);
Student st5("Sonya", 2);
vector<Student*> stvec;
stvec.push_back(&st);
stvec.push_back(&st1);
stvec.push_back(&st2);
stvec.push_back(&st3);
stvec.push_back(&st4);
stvec.push_back(&st5);
size_t sz = stvec.size();
cout<<"\nВведено в порядке:"<<endl;
//---------------------------
for(size_t i = 0; i < sz; ++i) {
    stvec[i]->show();
}
sort(stvec.begin(), stvec.end(), &Student::Compirer);
cout<<"\nОтсортировано в порядке:"<<endl;
//---------------------------
for(size_t i = 0; i < sz; ++i) {
    stvec[i]->show();
}
cin.get();   
return 0;
}
 
Текущее время: 23:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru