15 / 0 / 2
Регистрация: 29.11.2013
Сообщений: 48
1

Массив структур Aeroflot, отсортировать пункты назначения в алфавитном порядке

18.12.2014, 17:20. Показов 1190. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
#include <iostream>
#include <string.h>
#include <stdlib.h>
 
using namespace std;
 
struct aeroflot {
    char naz[30];
    int number;
    char tip[10];
};
int main() 
{
    setlocale(LC_ALL, "rus");
    aeroflot tr[4];
//Ввод элементов
    int kol = 4;
    int i;
    cout << "\tВвод данных." <<endl
        <<"Название пункта назначения: " << endl
        <<"Номер рейса: " << endl
        <<"Тип самолета: " << endl;
 
    for (i = 0; i<kol; i++) {
        cout << i + 1 << "-ый Маршрут: " << endl;
        cin >> tr[i].naz >> tr[i].number >> tr[i].tip;
        
    }
    //Сортировка
    
 
 
    //вывод
    cout << endl << "Сортировка: " << endl;
    for (i = 0; i<kol; i++) {
        cout << tr[i].naz << " " << tr[i].number << " " << tr[i].tip;
        cout << endl;
    }
 
    //поиск
    while (true) {
        char vv[21]; 
        cout << endl << "Введите название пункта назначения рейса: " << endl;
        cin >> vv;
        bool f = false; 
        for (i = 0; i<kol; i++)
        if (strcmp(tr[i].naz, vv) == 0) { 
            cout << "Номер рейса: " << ' ' << tr[i].number << ' ' << "Тип самолета: " << ' ' << tr[i].tip << ' ' << endl;
            f = true;
        }
        if (!f) cout << "Нет такого пункта назначения: "; 
    }
    return 0;
}
Ребят,я знаю,что многим тут надоела структура aeroflot, но пожалуйста, помогите отсортировать пункты назначения в алфавитном порядке.Благодарю
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2014, 17:20
Ответы с готовыми решениями:

Отсортировать массив структур TTrain в алфавитном порядке их поля nazv
Здравствуйте. Стоит задача отсортировать массив структур TTrain в алфавитном порядке их поля nazv...

Отсортировать массив в алфавитном порядке
введённый с клавиатуры двумерный массив, произвольного размера состоящий из латинских букв...

Ввести массив структур; рассортировать массив в алфавитном порядке
Пришел из армии восстановился в универе и тут сразу курсавай. Помогите Исходные данные(описание...

Рассортировать массив структур в алфавитном порядке по первому полю
Может кто может или пнет в нужное направление. Список товаров, имеющихся на складе, включает в...

8
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
18.12.2014, 17:24 2
ЮныйПрограммист, поиск по форуму осуществляли?
0
zzzZZZ...
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
18.12.2014, 17:28 3
Цитата Сообщение от ЮныйПрограммист Посмотреть сообщение
Ребят,я знаю,что многим тут надоела структура aeroflot, но пожалуйста, помогите отсортировать пункты назначения в алфавитном порядке.Благодарю
воспользуйтесь map<const Key,T> , контейнер сам всё отсортирует
0
Заблокирован
18.12.2014, 17:51 4
dzrkot, можно и stable_sort() использовать, либо sort() с лямбдой тогда. Зачем предлагать ассоциативные массивы, если с классическими справиться не могут?)
ЮныйПрограммист, код сильно не смотрел, пробежался. Вроде, разбираетесь, а отсортиовать по полю не можете.
Пробегитесь по всему массиву и смотрите в конкретное поле, сравнивайте строки через strcmp() .
C++
1
int strcmp ( const char * str1, const char * str2 );
<0 the first character that does not match has a lower value in ptr1 than in ptr2
0 the contents of both strings are equal
>0 the first character that does not match has a greater value in ptr1 than in ptr2
2
15 / 0 / 2
Регистрация: 29.11.2013
Сообщений: 48
18.12.2014, 19:13  [ТС] 5
спасибо,воспользовался твоим советов,но получается такая несуразица,если вводить пункты назначения на кириллице, то выводят выводят странные символы, с латинскими буквами этого не наблюдается.При этом сортирует. Писал на visual
Миниатюры
Массив структур Aeroflot, отсортировать пункты назначения в алфавитном порядке  
0
Заблокирован
18.12.2014, 19:19 6
ЮныйПрограммист, с кириллицей всегда проблемы в винде, на сколько я помню. setlocale() не хватит, только для отображения помогает. Либо свой метод перевода в кириллическую (!) строку писать нужно, либо, для начала, можно потестить на английских словах. В линуксе с такой проблемой, вроде как, не сталкивался.
0
zzzZZZ...
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
18.12.2014, 19:22 7
Цитата Сообщение от student_201 Посмотреть сообщение
dzrkot, можно и stable_sort() использовать, либо sort() с лямбдой тогда. Зачем предлагать ассоциативные массивы, если с классическими справиться не могут?)
да ну, так прикольней)
0
Заблокирован
18.12.2014, 19:27 8
dzrkot, не спорю, но сначала нужно базу освоить, чтоб в STL крутиться во всю и самому писать уже свои шаблоны )
0
0 / 0 / 0
Регистрация: 19.11.2020
Сообщений: 26
08.12.2020, 17:00 9
как отсортировать по возрастанию номера рейса;
0
08.12.2020, 17:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2020, 17:00
Помогаю со студенческими работами здесь

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

Отсортировать массив букв в алфавитном порядке
Дали мне задачу, а как сделать я не знаю! На вход подается кол-во букв, которые должны будут...

Отсортировать массив по названиям в алфавитном порядке
Моя задача: Создайте массив, содержащий сведения о продукции фирмы: номер товара, название, цена....

Отсортировать массив строк в алфавитном порядке
Помогите отсортировать массив строк в алфавитном порядке. Дано массив, заполненый названиями...

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

Массивы: отсортировать в алфавитном порядке по всему массиву и в алфавитном порядке по строкам
Ввести с клавиатуры массив произвольного размера состоящий из латинских букв отсортировать:а)в...


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

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

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