С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
33 / 58 / 13
Регистрация: 26.05.2011
Сообщений: 756
1

Структура (вывести время вылета по возрастанию)

06.12.2012, 12:05. Показов 979. Ответов 7

Author24 — интернет-сервис помощи студентам
Всем привет. Люди добрые помогите вывести время вылета по возростанию моя переменная (vv)
C++ (Qt)
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
#include <iostream.h>
#include <string.h>
 
    struct aerop{
int nr;
char ts[15];
char pn[30];
double vv;
} mas[100];
 
int main ()
{
 
 
int i,n;
char pn2[20];
 
cout<<"vvedite kol. samoletov"<<endl;
cin>>n;
 
for (i=0;i<n;i++)
{
cout<<"vvedite nomer reisa"<<endl;
cin>>mas[i].nr;
 
 
cout<<"vvedite tip samoleta"<<endl;
cin>>mas[i].ts;
 
cout<<"vvedite punkt naznachenia"<<endl;
cin>>mas[i].pn;
 
cout<<"vvedite vremia vileta"<<endl;
cin>>mas[i].vv;
}
 
 
/*просто вывод
for (i=0;i<n;i++)
{
cout<<mas[i].nr<<" "<<mas[i].ts<<" "<<mas[i].pn<<" "<<mas[i].vv<<endl;
}
 
*/
 
 
cout<<"vvedite  punkt naznachenia   ";
cin>>pn2;
 
 
for (i=0;i<n;i++)
{
if (strcmp (pn2,mas[i].pn)) 
 
cout<<mas[i].nr<<" "<<mas[i].ts<<" "<<mas[i].vv<<endl;
}
 
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2012, 12:05
Ответы с готовыми решениями:

Структура Trains, вывести все сведения о поездах, время пребывания в пути которых превышает 7 часов 10 мин
Есть задание:&quot;Вывести все сведения о поездах,время пребывания в пути которых привышает 7ч 10.мин...

Описать структуру Aeroflot Пункт назначения, номер рейса, тип самолета, Время вылета, Дни недели. Создать массив структу
Описать структуру Aeroflot Пункт назначения, номер рейса, тип самолета, Время вылета, Дни недели....

Структура "АТС": вывести для заданного города общее время разговоров
На междугородной АТС информация о разговорах содержит дату разговора, код и название города, время...

Вывести на экран данные о рейсах самолетов, время вылета которых находится в диапазоне, указанном пользователем.
Вывести на экран данные о рейсах самолетов (место назначения, авиакомпания), время вылета которых...

7
54 / 54 / 10
Регистрация: 26.09.2011
Сообщений: 186
06.12.2012, 12:36 2
ну, тебе просто надо отсортировать структуры по времени, а потом выводить. Можно выводить по совпадению с местом прилета и т.д.
Примитивнейшим способом сортировки, упорядочиваем наш массив структур, выстраивая последние по возрастанию
C++
1
2
3
4
5
6
7
8
for(int i = 0; i < n-1; i++) {
    for(int j = i+1; j < n; j++)
        if(mas[i].vv > mas[j].vv) {
            double tmp = mas[j].vv;
            mas[j].vv = mas[i].vv;
            mas[i].vv = tmp;
        }
}
0
33 / 58 / 13
Регистрация: 26.05.2011
Сообщений: 756
06.12.2012, 12:56  [ТС] 3
Вот попрбовал, но по возрастанию не выводит или я не туда поставил(((

C++ (Qt)
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
cout<<"vvedite  punkt naznachenia   ";
cin>>pn2;
 
 
 
 
for (i=0;i<n;i++)
{
if (strcmp (pn2,mas[i].pn)) 
 
{
 
///////////////////////////////
for(i = 0; i < n-1; i++) {
    for(int j = i+1; j < n; j++)
        if(mas[i].vv > mas[j].vv) {
            double tmp = mas[j].vv;
            mas[j].vv = mas[i].vv;
            mas[i].vv = tmp;
        }
}
//////////////////////////////
 
}
 
 
 
cout<<mas[i].nr<<" "<<mas[i].ts<<" "<<mas[i].vv<<endl;
}
 
 
return 0;
}
0
54 / 54 / 10
Регистрация: 26.09.2011
Сообщений: 186
06.12.2012, 13:02 4
не... ты поставь это сразу после заполнения структур, например, или перед строчкой
C++
1
cout<<"vvedite  punkt naznachenia   ";
Добавлено через 1 минуту
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
#include <iostream.h>
#include <string.h>
 
    struct aerop{
int nr;
char ts[15];
char pn[30];
double vv;
} mas[100];
 
int main ()
{
 
 
int i,n;
char pn2[20];
 
cout<<"vvedite kol. samoletov"<<endl;
cin>>n;
 
for (i=0;i<n;i++)
{
cout<<"vvedite nomer reisa"<<endl;
cin>>mas[i].nr;
 
 
cout<<"vvedite tip samoleta"<<endl;
cin>>mas[i].ts;
 
cout<<"vvedite punkt naznachenia"<<endl;
cin>>mas[i].pn;
 
cout<<"vvedite vremia vileta"<<endl;
cin>>mas[i].vv;
}
 
 
/*просто вывод
for (i=0;i<n;i++)
{
cout<<mas[i].nr<<" "<<mas[i].ts<<" "<<mas[i].pn<<" "<<mas[i].vv<<endl;
}
 
*/
 for(i = 0; i < n-1; i++) {
    for(int j = i+1; j < n; j++)
        if(mas[i].vv > mas[j].vv) {
            double tmp = mas[j].vv;
            mas[j].vv = mas[i].vv;
            mas[i].vv = tmp;
        }
}
 
cout<<"vvedite  punkt naznachenia   ";
cin>>pn2;
 
 
for (i=0;i<n;i++)
{
if (strcmp (pn2,mas[i].pn)) 
 
cout<<mas[i].nr<<" "<<mas[i].ts<<" "<<mas[i].vv<<endl;
}
 
return 0;
}
0
33 / 58 / 13
Регистрация: 26.05.2011
Сообщений: 756
06.12.2012, 13:44  [ТС] 5
чета вообще никакой реакции после ввода пункта назначения, просто просит нажать энтер
0
54 / 54 / 10
Регистрация: 26.09.2011
Сообщений: 186
06.12.2012, 14:02 6
Не знаю, что там у тебя не так... единственное strcmp возвращает нулевое значение при равенстве двух строк, надо поправить
У меня такой результат
0
33 / 58 / 13
Регистрация: 26.05.2011
Сообщений: 756
06.12.2012, 14:03  [ТС] 7
Вы такойже код вставили как и у меня:
C++ (Qt)
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
#include <iostream.h>
#include <string.h>
 
    struct aerop{
int nr;
char ts[15];
char pn[30];
double vv;
} mas[100];
 
int main ()
{
 
 
int i,n;
char pn2[20];
 
cout<<"vvedite kol. samoletov"<<endl;
cin>>n;
 
for (i=0;i<n;i++)
{
cout<<"vvedite nomer reisa"<<endl;
cin>>mas[i].nr;
 
 
cout<<"vvedite tip samoleta"<<endl;
cin>>mas[i].ts;
 
cout<<"vvedite punkt naznachenia"<<endl;
cin>>mas[i].pn;
 
cout<<"vvedite vremia vileta"<<endl;
cin>>mas[i].vv;
}
 
 
/*просто вывод
for (i=0;i<n;i++)
{
cout<<mas[i].nr<<" "<<mas[i].ts<<" "<<mas[i].pn<<" "<<mas[i].vv<<endl;
}
 
*/
 
 
 
///////////////////////////////
for(i = 0; i < n-1; i++) {
    for(int j = i+1; j < n; j++)
        if(mas[i].vv > mas[j].vv) {
            double tmp = mas[j].vv;
            mas[j].vv = mas[i].vv;
            mas[i].vv = tmp;
        }
}
//////////////////////////////
 
 
 
 
 
cout<<"vvedite  punkt naznachenia   ";
cin>>pn2;
 
 
 
 
for (i=0;i<n;i++)
{
if (strcmp (pn2,mas[i].pn)) 
 
 
 
 
cout<<mas[i].nr<<" "<<mas[i].ts<<" "<<mas[i].vv<<endl;
}
 
 
return 0;
}
0
54 / 54 / 10
Регистрация: 26.09.2011
Сообщений: 186
06.12.2012, 14:08 8
да, за исколючением 71 строчки...
C++
1
if (strcmp (pn2,mas[i].pn))
замени на
C++
1
if (strcmp (pn2,mas[i].pn) == 0)
0
06.12.2012, 14:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2012, 14:08
Помогаю со студенческими работами здесь

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

Пункт назначения, Номер рейса, Тип самолета, Время вылета, Дни недели. Создать массив объектов. Вывести: а) список рей
Aeroflot: Пункт назначения, Номер рейса, Тип самолета, Время вылета, Дни недели. Создать массив...

Определить время приземления самолета в часах, минутах и секундах по времени вылета и длительности полета
1. Определить время приземления самолета в часах X, минутах Y и секундах Z. Известно, что самолет...

Структура на время
Всем доброго дня. Помогите пжл с прогой. Построить программу для работы с структурой...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru