0 / 0 / 0
Регистрация: 23.03.2014
Сообщений: 5
1

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

23.03.2014, 14:05. Показов 1639. Ответов 3
Метки нет (Все метки)

Дана структура 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;
 
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2014, 14:05
Ответы с готовыми решениями:

Отсортировать строки по алфавиту
Вводим строки, и на выводе получаем их в алфавитном порядке. Я что-то голову ломаю, не понимаю....

Отсортировать слова по алфавиту
Задача: Есть строка из слов разделенных запятыми, в конце строки точка. Нужно отсортировать слова...

отсортировать по алфавиту Фамилии
Доброго времени суток.Подскажите пожалуйста как можно отсортировать по алфавиту Фамилии?Код...

Отсортировать структуру по алфавиту
Вообще задание такое: Описать структуру с именем STUDENT, содержащую следующие поля: 1)фамилия и...

3
414 / 410 / 95
Регистрация: 06.10.2011
Сообщений: 832
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;
}
0
36 / 36 / 27
Регистрация: 05.11.2013
Сообщений: 149
23.03.2014, 15:54 3
Лучший ответ Сообщение было отмечено Lalka22 как решение

Решение

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;
}
1
0 / 0 / 0
Регистрация: 23.03.2014
Сообщений: 5
23.03.2014, 23:31  [ТС] 4
Огромное спасибо!!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.03.2014, 23:31
Помогаю со студенческими работами здесь

Отсортировать имена по алфавиту
Нужно отсортировать имена по алфавиту. В коде я переношу имена из структуры в новый массив теперь...

Сформировать список, дано ФИО, дата рождения. Нужно отсортировать по возрасту
Дано : ФИО, дата рождения Сортировка : по возрасту c++

Как отсортировать строки по алфавиту?
Всем привет. Только начинаю учить программирование. Я здесь новенькая. Это моя первая тема, если...

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

Отсортировать список структур по алфавиту
Помогите, пожалуйста отсортировать список структуры по алфавиту. Необходимо учесть, повторяющиеся...

Отсортировать слова в строке по алфавиту
Здравствуйте!Мне задали в универе вот такую задачу: &quot;Отсортировать слова в строке по алфавиту&quot;...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru