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

Отсортировать ФИО по алфавиту - C++

Восстановить пароль Регистрация
 
Lalka22
0 / 0 / 0
Регистрация: 23.03.2014
Сообщений: 4
23.03.2014, 14:05     Отсортировать ФИО по алфавиту #1
Дана структура FIRMA, ФИО сотрудников, посада, год поступления на роботу.
1.Надо посортировать ФИО по алфавиту.
2.Вывести на екран ФИО сотрудников, стаж которых больше значения введенного из клавиатуры. Если таких сотрудников нету вывести сообщение.
Пожалуйста помогите...
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
#include <iostream>    
using namespace std;
void main()
{   
    setlocale(LC_ALL, "Russian");
    const int n=4;
    struct FIRMA
    {
        char fio[20];
        char pos[20];
        int rik;
    };
    FIRMA s[n]={
                {"Иванов","Начальник",1991},
                {"Петров","Робочий",1982},
                {"Антонов","Секретарь",2000},
                {"Сидоров","Вчитель",1972}
                };
    for (int i=0;i<4;i++)
            cout << "\n ФИО: " << s[i].fio << ' '
            << "\n Посада: " << s[i].pos  << ' '
            << "\n Год поступления: " << s[i].rik << endl;
    int b;
    cout<<"Число:"; cin>>b;
    for (int i=0; i<n; i++) 
            if (b<2014-s[i].rik) 
            cout << "\n ФИО: " << s[i].fio <<endl;
 
}
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
23.03.2014, 14:24     Отсортировать ФИО по алфавиту #2
Пример по сортировке структур
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
#include <iostream>
#include <vector>
#include <algorithm>
 
struct student
{
    std::string name;
};
 
void alphabetic_sort(std::vector<student> &list)
{
    auto comparator = [](const student &lhs, const student &rhs) {
        return lhs.name.compare(rhs.name) < 0;
    };
    std::sort(std::begin(list), std::end(list), comparator);
}
 
std::ostream& operator << (std::ostream &stream, const std::vector<student> &list)
{
    for (auto &entity : list) {
        stream << entity.name << std::endl;
    }
    return stream;
}
 
int main()
{
    std::vector<student> list {{"Yaroslav"}, {"Alex"}, {"Bogdan"}};
    std::cout << "before\n" << list << std::endl;
    alphabetic_sort(list);
    std::cout << "After\n" << list << std::endl;
    return 0;
}
Hrollo
34 / 34 / 6
Регистрация: 05.11.2013
Сообщений: 147
23.03.2014, 15:54     Отсортировать ФИО по алфавиту #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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 <cstring>
 
using namespace std;
 
struct FIRMA
{
    char fio[20];
    char pos[20];
    int rik;
};
void show(const FIRMA *f,int size)
{
    for (int i=0;i<size;i++)
       cout << "\n FIO: " << f[i].fio <<" "<< "\n Position: " << f[i].pos  <<" " << "\n Year: "
       << f[i].rik << endl;
}
 
void sort(FIRMA *f,int size)
{
    for(int i = size-1;i>0;i--)
    {
        for(int j = 0;j<i;j++)
        {
            if(strcmp(f[j].fio,f[j+1].fio)>0)
                swap(f[j],f[j+1]);
        }
    }
}
 
int main()
{
const int n=4;
 
        FIRMA s[n]={
                    {"Ivanov","director",1991},
                    {"Petrov","worker",1982},
                    {"Antonov","sekretary",2000},
                    {"Sidorov","teacher",1972}
                    };
 
        show(s,n);
        sort(s,n);
        cout<<"\n\n";
        show(s,n);
        int b;
        cout<<"Numb:";
        cin>>b;
        int count = 0;
        for (int i=0; i<n; i++)
        {
           if (b<2014-s[i].rik)
           {
             cout << "\n FIO: " << s[i].fio <<endl;
             count++;
           }
        }
        if(count == 0)
            cout<<"Don't worker"<<endl;
    return 0;
}
Lalka22
0 / 0 / 0
Регистрация: 23.03.2014
Сообщений: 4
23.03.2014, 23:31  [ТС]     Отсортировать ФИО по алфавиту #4
Огромное спасибо!!!
Yandex
Объявления
23.03.2014, 23:31     Отсортировать ФИО по алфавиту
Ответ Создать тему
Опции темы

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