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

Структуры(сортировка) - C++

Восстановить пароль Регистрация
 
Bi-2
0 / 0 / 0
Регистрация: 24.02.2010
Сообщений: 17
12.05.2010, 08:28     Структуры(сортировка) #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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <stdafx.h>
#include <iostream> //библиотека ввода вывода
#include <stdio.h>
#include <math.h> // библиотека ввода вывода математических функций
#include <time.h>
#include <stdlib.h>
using namespace System;
//using namespace System::Text;
 
int n; // вводим переменную n
int a; // вводим переменную а
bool flag=0;
const int z=3; // константа z
 
struct MARSH{ //cтруктура типа MARSH
char StartPoint[20];// поле с названием начального пункта
char FinishPoint[20];//конечный пункт
int Number;//номер маршрута
};
 
void main(){
setlocale(LC_ALL,"russian_russia"); // Русский язык
srand((unsigned)time(NULL));//привязка генератора случайных чисел к системному времени
 
MARSH marsh[z];//создание переменной marsh типа MARSH
//Ввод данных 
 
for (int i=0;i<z;i++){
cout<<"Ведите название начального пункта маршрута: "; //cout вывод на экран
cin>>marsh[i].StartPoint;
 
cout<<"Ведите название конечного пункта маршрута: ";
cin>>marsh[i].FinishPoint;
 
cout<<"Ведите номер маршрута: ";
cin>>marsh[i].Number;
cout<<'\n';
}// next i
 
// Сортировка по номеру маршрута
 
for (int i=0;i<z;i++){
for (int j=0;j<(z-1);j++){
if (marsh[i].Number<marsh[j].Number) {
a=marsh[i].Number;
marsh[i].Number=marsh[j].Number;
marsh[j].Number=a;
}//end if
}//next j
}//next i
 
//Вывод информации о маршруте
 
do { 
system("cls");
for (int i=0;i<z;i++) {
cout<<"Маршрут №"<<marsh[i].Number<<": "<<marsh[i].StartPoint<<" - "<<marsh[i].FinishPoint;
cout<<'\n';
}// next i
cout<<'\n';
 
cout<<"Задайте номер маршрута: ";
cin>>n;
cout<<'\n';
for (int i=0;i<z;i++){
if (marsh[i].Number==n){
cout<<"Маршрут №"<<marsh[i].Number<<": "<<marsh[i].StartPoint<<" - "<<marsh[i].FinishPoint;
cout<<'\n';
flag=1;
}//end if
}//next i
if (!flag) cout<<"Маршрута с таким номером не существует"; //!flag означает проверку логических условий НЕ
cout<<'\n';
cout<<'\n';
 
cout<<"Для выхода нажмите Escape";
cki=Console::ReadKey(true);
}
while ( cki.Key != ConsoleKey::Escape );
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2010, 08:28     Структуры(сортировка)
Посмотрите здесь:

C++ Сортировка данных структуры!
Сортировка элементов структуры C++
Структуры. Сортировка массива структуры C++
сортировка структуры. C++
C++ Структуры. Сортировка
C++ Сортировка структуры
C++ Сортировка и структуры
Сортировка структуры C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
лендер
46 / 46 / 2
Регистрация: 12.01.2010
Сообщений: 183
12.05.2010, 12:55     Структуры(сортировка) #2
C++
1
2
3
4
5
6
7
8
9
for (int i=0;i<z;i++){
for (int j=0;j<(z-1);j++){
if (marsh[i].Number<marsh[j].Number) {
a=marsh[i].Number;
marsh[i].Number=marsh[j].Number;
marsh[j].Number=a;
}//end if
}//next j
}//next i
меняй местами не номера маршрутов а маршруты


попытайся так:
C++
1
2
3
4
5
6
7
8
9
10
MARSH a;
for (int i=0;i<z;i++){  
   for (int j=0;j<(z-1);j++){
      if (marsh[i].Number<marsh[j].Number) {
         a=marsh[i];
         marsh[i] = marsh[j];
         marsh[j]=a;
      }//end if
   }//next j
}//next i
Yandex
Объявления
12.05.2010, 12:55     Структуры(сортировка)
Ответ Создать тему
Опции темы

Текущее время: 18:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru