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

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

Восстановить пароль Регистрация
 
TRIPTIXX
0 / 0 / 0
Регистрация: 01.04.2014
Сообщений: 18
19.05.2014, 23:18     Сортировка таблицы по возрастанию или убыванию (на выбор) #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
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
void main() { clrscr();
int  direction;
struct marka {
 char country[10];
 float SR, Max, M[4];
 int nom;};
marka *K;
marka x;
float MSR;
int nCountry, N, i, j, usl, p;
MSR=0; nCountry=0;
 
cout <<"\n input N:"; cin>>N;
K=new marka[N];
 
for (i=0;i<N;i++) {
cout<<"\n\n input name country ["<<i+1<<"]:"; cin>> K[i].country;
    K[i].SR=0; K[i].Max;
for(j=0;j<4;j++) {
cout<<"\n Input price mark's ["<<j+1<<"]="; cin >>K[i].M[j];
}}
for (i=0;i<N;i++) {
 for (j=0;j<4;j++){
  K[i].SR+=K[i].M[j];
   if (K[i].M[j]>K[i].Max) {K[i].Max=K[i].M[j]; K[i].nom=j+1;}
  }
K[i].SR/=4;
 if(K[i].SR>MSR) {MSR=K[i].SR; nCountry=i+1;}
  }
printf ("\n--------------------------------------");
printf ("\n|  Nom|Country| M-1 | M-2 | M-3 | M-4 | SR | Max|N |");
printf ("\n--------------------------------------");
for (i=0; i<N; i++) {
printf ("\n %5d|%7s|", i+1, K[i].country);
 for (j=0; j<4; j++) {printf ("%5.0f|", K[i].M[j]); }
printf ("%4.0f|%4.0f|%2d|", K[i].SR, K[i].Max, K[i].nom);
}
printf("\n---------------------------------------");
cout<<"\n \n MaxSredney="<<MSR;
cout<<"\n Nomer country:"<<nCountry;
printf("\n---------------------------------------");
 
do {
 cout<<("\n \n Input pole sortirovki:"); cin>>p;
 for (i=0; i<N;i++)
  for(j=i+1; j<N;j++) {
   switch(p) {
    case 2: case 3: case 4: case 5: usl=K[i].M[p-2] > K[j].M[p-2]; break;
    case 6: usl=K[i].SR>K[j].SR; break;
    case 7: usl=K[i].Max>K[j].Max; break;
    case 8: usl=K[i].nom>K[j].nom; break;
    }
    if (usl) {x=K[i]; K[i]=K[j]; K[j]=x;}
if (p!=0){
  printf("\n--------------------------------------");
  printf ("\n|  Nom|Country| M-1 | M-2 | M-3 | M-4 | SR | Max|N |");
  printf("\n--------------------------------------");
 for (i=0; i<N; i++) {
  printf ("\n %5d|%6s|", i+1, K[i].country);
   for (j=0;j<4;j++) { printf("%5.0f|",K[i].M[j]);}
  printf ("%4.0f|%4.0f|%2d|", K[i].SR, K[i].Max, K[i].nom);
 }}
 }}
 while (p!=0);
cout<<("Press any key...");
getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2014, 23:18     Сортировка таблицы по возрастанию или убыванию (на выбор)
Посмотрите здесь:

Установить упорядочены ли компоненты вектора а по возрастанию или убыванию. C++
C++ Работа со списками (Проверить, упорядочены ли числа по возрастанию или по убыванию)
Быстрая сортировка. Сложности с сортировкой по возрастанию и убыванию C++
C++ Определить, упорядочены ли по возрастанию или по убыванию цифры в записи натурального n
Сортировка элементов первой половины одномерного массива по убыванию, а второй – по возрастанию C++
Отсортировать массив по убыванию или по возрастанию C++
Целочисленный одномерный массив, сортировка по убыванию и возрастанию C++
Сортировка массива вставкой, чтобы четные числа шли по возрастанию, а нечетные по убыванию C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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