Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
shilovec5377
29 / 54 / 1
Регистрация: 26.05.2011
Сообщений: 752
#1

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

06.12.2012, 12:05. Просмотров 276. Ответов 7

Всем привет. Люди добрые помогите вывести время вылета по возростанию моя переменная (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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2012, 12:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Структура (вывести время вылета по возрастанию) (C++):

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

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

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

Структура Время - C++
Создайте структуру Время с элементами Часы, Минуты. Известно время продолжительности каждого из N этапов процесса. Определить общее время...

Как можно сравнивать в структуре числа и выводить на экран по возрастанию, если структура находится в файле? - C++
Как можно сравнивать в структуре числа и выводить на экран по возрастанию, если структура находится в файле?

Структура "Время". Функции преобразования в секунды и из секунд - C++
Здравствуйте решаю такую вот задачку ,прошу помощи : Модифицируйте программу, описанную в упражнении 11 главы 4 &quot;Структуры&quot;,...

7
denys_l
52 / 52 / 4
Регистрация: 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
shilovec5377
29 / 54 / 1
Регистрация: 26.05.2011
Сообщений: 752
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
denys_l
52 / 52 / 4
Регистрация: 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
shilovec5377
29 / 54 / 1
Регистрация: 26.05.2011
Сообщений: 752
06.12.2012, 13:44  [ТС] #5
чета вообще никакой реакции после ввода пункта назначения, просто просит нажать энтер
0
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
06.12.2012, 14:02 #6
Не знаю, что там у тебя не так... единственное strcmp возвращает нулевое значение при равенстве двух строк, надо поправить
У меня такой результат
0
shilovec5377
29 / 54 / 1
Регистрация: 26.05.2011
Сообщений: 752
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
denys_l
52 / 52 / 4
Регистрация: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2012, 14:08
Привет! Вот еще темы с ответами:

структура. вывести кто старше - C++
Всем привет! Тут такое дело, мне кажется, что задача почти решена, проблемка в одном. Дана информация о четырех студентах. Запись имеет...

Найти причину вылета программы - C++
Вообщем написал программу, вроде бы все правильно (так говорит компилятор), но программа вылетает с ошибкой &quot;Отправить отчет/Не...

Непонятная причина вылета программы - C++
Добрый день, была поставлена задача написать программку, которая бы высчитывала кол-во повторений в массиве, а затем бы выводила...

Стеки. Вывести по возрастанию - C++
В общем каюсь - на этой теме спал, потом какие то части кода нагло стырил с интернета, немного даже получалось. Задачу слово в слово не...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru