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

Для 10 сотрудников отдела: выполнить сортировку по убыванию номеров телефонов - C++

Войти
Регистрация
Восстановить пароль
 
referent
1 / 1 / 0
Регистрация: 24.04.2014
Сообщений: 36
10.05.2014, 14:44     Для 10 сотрудников отдела: выполнить сортировку по убыванию номеров телефонов #1
Дали очень красноречивое задание:
Для 10 сотрудников отдела: выполнить сортировку по убыванию номеров телефонов
Кто может это сделать? О_о
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2014, 14:44     Для 10 сотрудников отдела: выполнить сортировку по убыванию номеров телефонов
Посмотрите здесь:

C++ Текстовый файл, который содержит номера телефонов сотрудников
C++ Выполнить сортировку
C++ Список внутренних телефонов организации с разбивкой по отделам.Количества отделов и телефонов внутри отдела задать самостоятельно.
Создание базы данных номеров телефонов +ФИО+место жительства C++
C++ Выполнить сортировку массива по убыванию и проконтролировать ее результат. Произвести подсчет перестановок при сортировке
Выполнить сортировку массива по убыванию и проконтролировать ее результат. Произвести подсчет перестановок при сортировке C++
Сортировка структуры сотрудников по убыванию стажа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2841 / 1778 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
10.05.2014, 14:52     Для 10 сотрудников отдела: выполнить сортировку по убыванию номеров телефонов #2
Я могу.
referent
1 / 1 / 0
Регистрация: 24.04.2014
Сообщений: 36
10.05.2014, 14:54  [ТС]     Для 10 сотрудников отдела: выполнить сортировку по убыванию номеров телефонов #3
asics, это круто. А как?
asics
Freelance
Эксперт C++
 Аватар для asics
2841 / 1778 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
10.05.2014, 14:57     Для 10 сотрудников отдела: выполнить сортировку по убыванию номеров телефонов #4
referent, прост)))00
referent
1 / 1 / 0
Регистрация: 24.04.2014
Сообщений: 36
10.05.2014, 15:23  [ТС]     Для 10 сотрудников отдела: выполнить сортировку по убыванию номеров телефонов #5
asics, не, ну так не пойдет ) Сказал - теперь докажи

Добавлено через 23 минуты
asics, делаю так:
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
#define N 10
 
#include <iostream>
#include <ctime>
#include <string>
#include <ctime>
#include <vector>
#include <algorithm>
 
using namespace std;
 
struct NOTE {
    string surname;
    string name;
    int phone;
    bool compare_by_number (const NOTE& a) const{
        return phone < a.phone;
    }
};
 
int main()
{
    srand(time(0));
    vector<NOTE> workers;
    for (int i = 0; i < N; i++) {
        workers.push_back(NOTE());
        workers[i].name = to_string(i) + "name";
        workers[i].surname = to_string(i) + "surname";
        workers[i].phone = rand() % 10000000 + rand() % 800000 + 10000;
        cout << workers[i].phone << endl;
    }
 
    std::sort(workers.begin(), workers.end(), NOTE().compare_by_number);
 
    for (int i = 0; i < N; i++) {
        cout << "Worker №" << i << " name: " << workers[i].name
            << " surname: " << workers[i].surname << " phone: " 
            << workers[i].phone << endl;
    }
 
    system("pause");
    return 0;
}
студия выдает пару ошибок:
Код
Warning	1	warning C4244: 'argument' : conversion from 'time_t' to 'unsigned int', possible loss of data	e:\my documents\dropbox\studying\учёба\3 курс\системное программирование\контрольная\task5\task5\task5.cpp	23	1	Task5
Error	2	error C3867: 'NOTE::compare_by_number': function call missing argument list; use '&NOTE::compare_by_number' to create a pointer to member	e:\my documents\dropbox\studying\учёба\3 курс\системное программирование\контрольная\task5\task5\task5.cpp	33	1	Task5
Error	3	error C2780: 'void std::sort(_RanIt,_RanIt)' : expects 2 arguments - 3 provided	e:\my documents\dropbox\studying\учёба\3 курс\системное программирование\контрольная\task5\task5\task5.cpp	33	1	Task5
В плюсах я немного нуб, но... Почему sort требует 2 аргумента? Гугл говорит о 3-х.
asics
Freelance
Эксперт C++
 Аватар для asics
2841 / 1778 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
10.05.2014, 15:28     Для 10 сотрудников отдела: выполнить сортировку по убыванию номеров телефонов #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
referent, попробуй так
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
#define N 10
 
#include <iostream>
#include <ctime>
#include <string>
#include <ctime>
#include <vector>
#include <algorithm>
 
using namespace std;
 
struct NOTE {
    string surname;
    string name;
    int phone;
    bool operator () (const NOTE& a, const NOTE &b){
        return a.phone < b.phone;
    }
};
 
int main()
{
    srand(time(0));
    vector<NOTE> workers;
    for (int i = 0; i < N; i++) {
        workers.push_back(NOTE());
        workers[i].name = to_string(i) + "name";
        workers[i].surname = to_string(i) + "surname";
        workers[i].phone = rand() % 10000000 + rand() % 800000 + 10000;
        cout << workers[i].phone << endl;
    }
 
    std::sort(workers.begin(), workers.end(), NOTE());
 
    for (int i = 0; i < N; i++) {
        cout << "Worker №" << i << " name: " << workers[i].name
            << " surname: " << workers[i].surname << " phone: "
            << workers[i].phone << endl;
    }
 
    system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2014, 15:37     Для 10 сотрудников отдела: выполнить сортировку по убыванию номеров телефонов
Еще ссылки по теме:

Создать список отделов и вычислить общую сумму заработной платы сотрудников каждого отдела C++
C++ Создать список отделов и вычислить общую сумму заработной платы сотрудников этого отдела
C++ Выполнить сортировку по убыванию. Пирамидальная сортировка
Реализовать сортировку по возрастанию и убыванию C++
C++ Задана матрица целых чисел. Выполнить сортировку элементов в каждом столбце по убыванию

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

Или воспользуйтесь поиском по форуму:
referent
1 / 1 / 0
Регистрация: 24.04.2014
Сообщений: 36
10.05.2014, 15:37  [ТС]     Для 10 сотрудников отдела: выполнить сортировку по убыванию номеров телефонов #7
asics, спасибо, заработало!

Добавлено через 7 минут
asics, последний вопрос - как сделать вывод, выровнянный по столбцам, а не просто пробелами?
C++
1
2
3
cout << "Worker №" << i << " name: " << workers[i].name
            << " surname: " << workers[i].surname << " phone: "
            << workers[i].phone << endl;
Чтобы все имена, фамилии и номера были столбиками?
Yandex
Объявления
10.05.2014, 15:37     Для 10 сотрудников отдела: выполнить сортировку по убыванию номеров телефонов
Ответ Создать тему
Опции темы

Текущее время: 17:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru