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

Сортировка массива структур - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массивы в С++. Найти сумму элементов массива Т, имеющих четные порядковые номера http://www.cyberforum.ru/cpp-beginners/thread755857.html
Дан произвольный массив Т размерности n. Найти сумму элементов массива Т, имеющих четные порядковые номера, а также сумму элементов массива Т, имеющих нечетные порядковые номера. Исходные данные взять самостоятельно. Добавлено через 1 минуту код есть на паскале Program mas1; const k=10; n=10; var i,sum,sumk,sumne,sumcho:integer;
C++ Списки. Нужно расставить комментарии Всем доброго времени суток. Помогите расставить комментарии ко всем строкам программы, некоторые комментарии уже расставил. #include <iostream> #include <cstdlib> using namespace std; struct LIST { int info; LIST Предприниматели нового поколения; }; http://www.cyberforum.ru/cpp-beginners/thread755852.html
C++ Оператор >>
Приветствую. Подскажите, пожалуйста, что означает ">>" в С/С++: size_learnt >> 1;
C++ Структуры. Запросы к данным.
Данные: (в текстовом документе ) Audi 2000 100.000 white 1,1 China BMW 2002 70.000 silver 3,5 Japan Jaguar 1999 40.000 silver 2.7 Brazil Chevrolet 2005 30.000 white 3.2 China Citroen 2008 70.000 black 2.7 Brazil Lexus 1995 20.000 silver 3.4 Germany Porsche 2010 18.000 silver 2.1 Japan Toyota 2012 120.000 black 3.4 China Volkswagen 1998 38.000 white 2.5 Germany
C++ Сортировка массива строк методом подсчета http://www.cyberforum.ru/cpp-beginners/thread755844.html
Здравствуйте. Вкратце, задача такова - написать программу, упорядочивающую массив строк в алфавитном порядке методом сортировки подсчетом. Использовать указатели на строки. Обычный алгоритм сортировки подсчетом, если верить вики, такой: SimpleCountingSort for i = 0 to k - 1 C = 0; for i = 0 to n - 1 C] = C] + 1; b = 0; for j = 0 to k - 1 for i = 0...
C++ Найти сумму элементов четных строк и произведение элементов нечетных строк массива дан двумерный массив динамический массив. Найти сумму элементов четных строк и произведение элементов нечетных строк. помогите пожалyйста!!!!!!!!!!!!!!!!!! подробнее

Показать сообщение отдельно
septe-mber
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 123
08.01.2013, 17:40     Сортировка массива структур
Привет всем ! как отсортировать массив структур ? а то почему не получается ...
вот код
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include <iostream>
#include <stdio.h>
 
#define g_max 255
 
using namespace std;
 
struct INFO
{
    char name[g_max];
    char surname[g_max];
    char patronymic[g_max];
    char institute[g_max];
    int groups;
};
 
int main()
{
    FILE* file;
    INFO info, array[g_max];
    int value, n, count(0);
    char filename[g_max];
    cout<<"1. Записать файл"
        <<endl
        <<"2. Прочитать файл"<<endl;
    cin>>value;
    if(value == 1)
    {
        cout<<"Введите имя файла: ";
        cin>>filename;
        if((file = fopen(filename, "wb")) == NULL)
            perror("Не удается создать файл: ");
        cout<<"Количество студентов: ";
        cin>>n;
        for(int i = 0; i < n; i++)
        {
            cout<<"Имя: ";
            cin>>info.name;
            cout<<"Фамилия: ";
            cin>>info.surname;
            cout<<"Отчество: ";
            cin>>info.patronymic;
            cout<<"Институт: ";
            cin>>info.institute;
            cout<<"Номер группы: ";
            cin>>info.groups;
            fwrite(&info, sizeof(INFO), 1, file);
        }
        cout<<"Запишь успешно записан"<<endl;
        fclose(file);
    }
    else if(value == 2)
    {
        cout<<"Введите имя файла: ";
        cin>>filename;
        if((file = fopen(filename, "rb")) == NULL)
            perror("Не открывается файл: ");
        else while(fread(&info, sizeof(INFO), 1, file))
        {
            array[count++] = info;
            cout<<"Имя: "<<info.name
                <<endl
                <<"Фамилия: "<<info.surname
                <<endl
                <<"Отчество: "<<info.patronymic
                <<endl
                <<"ВУЗ: "<<info.institute
                <<endl
                <<"Номер группы: "<<info.groups<<endl<<endl;
        }
        fclose(file);
    }
    else cout<<"Error";
    INFO buf[g_max];
    for(int i = count - 1; i > 0; i--) //сортировка 
        for(int j = 0; j < i; j++)
            if(array[j].institute > array[j + 1].institute)
            {
                buf[i] = array[j];
                array[j] = array[j + 1];
                array[j + 1] = buf[i];
            }
    
    
    cout<<"Имя"<<endl;
    for(int i = 0; i < count; i++)
        cout<<array[i].name<<'\t';
    cout<<endl<<"Фамилия"<<endl;
    for(int i = 0; i < count; i++)
        cout<<array[i].surname<<'\t';
    cout<<endl<<"Отчество"<<endl;
    for(int i = 0; i < count; i++)
        cout<<array[i].patronymic<<'\t';
    cout<<endl<<"ВУЗ"<<endl;
    for(int i = 0; i < count; i++)
        cout<<array[i].institute<<'\t';
    cout<<endl<<"ГР"<<endl;
    for(int i = 0; i < count; i++)
        cout<<array[i].groups<<'\t';
    return 0;
}
Добавлено через 2 минуты
именно отсортировать отдельное поле ...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru