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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шифровка по треугольнику (пирамиде) Паскаля http://www.cyberforum.ru/cpp-beginners/thread1109209.html
шифровка по треугольнику паскаля! в чем ошибка подскажите... вижуал студио ругается на 72 строчку #include<stdio.h> #include<iostream> #include<string> using namespace std; int factorial(int a) //Функция высчитывает факториал { int itog = 1;
C++ Класс комплексных чисел Класс комплексных чисел, стандартные операции, перегрузка ввода-вывода. С вводом-выводом проблемы. Вроде всегда так писали, но сейчас выдает ошибки. И еще и на определение мнимой единицы ругается. Не могу разобраться, как надо правильно. Подскажите, пожалуйста. #ifndef COMPLEX_H_INCLUDED #define COMPLEX_H_INCLUDED http://www.cyberforum.ru/cpp-beginners/thread1109208.html
Создать и вывести двумерный массив для хранения количества очков, сделанных за 4 квартала текущего года каждым членом баскетбольной команды C++
Создать и вывести двумерный массив для хранения количества очков, сделанных за 4 квартала текущего года каждым членом баскетбольной команды (столбцы соответствуют кварталы, строки-номерам игроков).
C++ Метод Холецкого
Здравствуйте.Помогите,пожалуйста.Есть блок-схема,с которой всё переписано,но программа почему-то работает неверно.Выдаёт слишком большие корни.Порядок матрицы: 5.Препод говорит мол всё должно работать по этой блок-схеме,поэтому и хочу понять что не так у меня,а не просто загуглить другой алгоритм.Всё просто,гляньте на пару минут и возможно,пожскажите,кто уже делал этим методом(Холецкого) ,что не...
C++ Создание и вывод двумерного массива http://www.cyberforum.ru/cpp-beginners/thread1109200.html
Створити и вивести двовімірній масив для зберігання кількості очок, Зроблений за 4 квартали поточного року кожним членом баскетбольної команди (стовбці відповідають квартали, рядки-номерам гравців).
C++ Дан массив размера N и целые числа K и L (0<=K<=L<=N-1).Напишите функцию Дан массив размера N и целые числа K и L (0<=K<=L<=N-1).Напишите функцию, возвращающую разность между суммой элементов массива с индексом от K и L включительно и суммой остальных элементов. Есть код, но консоль выводит какое-то адское число =( В чем моя ошибка? #include <iostream> int raznost(int Arr,int n,int k,int l); using namespace std; подробнее

Показать сообщение отдельно
stalker033
0 / 0 / 0
Регистрация: 02.03.2014
Сообщений: 11

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

02.03.2014, 16:53. Просмотров 159. Ответов 0
Метки (Все метки)

Проблема следующая: необходимо добавить сортировку по какому-либо признаку, но я понятия не имею, как сделать ее работая с массивами структур. Была идея сравнения полей line\time, но типы в структуре прописаны как string и вычисления проводить не получается, при попытке изменить тип переменных выдает различные ошибки. Так же в конце кривой вывод. Тоже по непонятной мне причине. Не могу разобраться, помогите пожалуйста!!! Программировал в Geany на ubuntu.

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
102
//Программа вводит\выводит элементы массива структуры и ищет элементы по заданному полю
#include <iostream>
#include <cstdlib> // для очистки экрана
using namespace std;
struct metro
{
    char start_name[30]; //Начальный пункт
    char finish_name[30]; //Конечный пункт
    char time[30]; //Время поездки
    char line[30]; //Номер линии
};
int main()
{
    setlocale(0,"");
    string d;
    int n,i,b,c;
    metro *Arr;
    cout<<"Введите количество элементов массива: ";
    cin>>n;
    Arr = new metro[n]; // массив;
    for (i=0; i<n; i++)
    {
        cout<<"Введите название начального пункта: ";
        cin>> Arr[i].start_name;
        cout<<"Введите название конечного пункта: ";
        cin>> Arr[i].finish_name;
        cout<<"Введите время поездки: ";
        cin>> Arr[i].time;
        cout<<"Введите номер линии: ";
        cin>> Arr[i].line;
        cout<<endl;
    }
    system("clear");
    cout<<endl;
    for (i=0; i<n; i++)
    {
        cout<<endl;
        cout<<"Начальный пункт = "<<i+1<<" "<<Arr[i].start_name<<endl;
        cout<<"Конечный пункт = "<<i+1<<" "<<Arr[i].finish_name<<endl;
        cout<<"Время поездки = "<<i+1<<" "<<Arr[i].time<<endl;
        cout<<"Номер линии = "<<i+1<<" "<<Arr[i].line<<endl;
        cout<<"\n\n ";
    }
 
    cout<<"Поиск по:"<<endl<<"1-начальный пункт"<<endl<<"2-конечный пункт"<<endl
    <<"3-время поездки"<<endl<<"4-номер линии"<<endl;
    cin>>b;
    switch (b)
    case 1:{
        cout<<"Введите начальный пункт: ";
        cin>>d;
        c=0;
        for (i=0; i<n; i++) {
            if(Arr[i].start_name==d){
                cout<<"Начальный пункт = "<<i+1<<Arr[i].start_name<<endl;
                cout<<"Конечный пункт = "<<i+1<<Arr[i].finish_name<<endl;
                cout<<"Время поездки = "<<i+1<<Arr[i].time<<endl;
                cout<<"Номер линии = "<<i+1<<Arr[i].line<<endl;
        cout<<"\n\n ";
                c=c+1;}
                if (c==0){cout<<"Таких начальных пунктов нет";}}break;
    case 2:{
        cout<<"Введите конечный пункт: ";
        cin>>d;
        c=0;
        for (i=0; i<n; i++) {
            if(Arr[i].finish_name==d){
                cout<<"Начальный пункт = "<<i+1<<Arr[i].start_name<<endl;
                cout<<"Конечный пункт = "<<i+1<<Arr[i].finish_name<<endl;
                cout<<"Время поездки = "<<i+1<<Arr[i].time<<endl;
                cout<<"Номер линии = "<<i+1<<Arr[i].line<<endl;
        cout<<"\n\n ";
                c=c+1;}
                if (c==0){cout<<"Таких конечных пунктов нет";}}break;
    case 3:{
        cout<<"Введите время поездки: ";
        cin>>d;
        c=0;
        for (i=0; i<n; i++) {
            if(Arr[i].time==d){
                cout<<"Начальный пункт = "<<i+1<<Arr[i].start_name<<endl;
                cout<<"Конечный пункт = "<<i+1<<Arr[i].finish_name<<endl;
                cout<<"Время поездки = "<<i+1<<Arr[i].time<<endl;
                cout<<"Номер линии = "<<i+1<<Arr[i].line<<endl;
        cout<<"\n\n ";
                c=c+1;}
                if (c==0){cout<<"Такого времени нет";}}break;
    case 4:{
        cout<<"Введите номер линии: ";
        cin>>d;
        c=0;
        for (i=0; i<n; i++) {
            if(Arr[i].line==d){
                cout<<"Начальный пункт = "<<i+1<<Arr[i].start_name<<endl;
                cout<<"Конечный пункт = "<<i+1<<Arr[i].finish_name<<endl;
                cout<<"Время поездки = "<<i+1<<Arr[i].time<<endl;
                cout<<"Номер линии = "<<i+1<<Arr[i].line<<endl;
        cout<<"\n\n ";
                c=c+1;}
                if (c==0){cout<<"Таких линий нет";}}break;
        return 0;
    }}}}}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru