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

Не выходит сортировка - C++

Восстановить пароль Регистрация
 
Alexandri
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 46
20.05.2013, 00:07     Не выходит сортировка #1
Я написала код, но сортировка по убыванию у меня выходить не правильная. Оно сортирует только 1 столбец, а не всю строку данных таблицы, из-за чего в результате вся таблица(в меню кнопка 5) выводится неправильно. Подскажите, что надо исправить
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
#include<iostream>
#include <string.h>          
#include <iomanip> 
#include <conio.h>
#include <fstream>
 
using namespace std;
 
const int  n=2;
struct zap
{
char A[15];
double T;
int K;
double C;
};
 
int main()
{
    locale::global(locale("rus"));
    
    
double S1=0,S2=0,S3=0;
zap zapis[n];    
   cout << "СОЗДАНИЕ ДОКУМЕНТА: \n";
            cout << "ДОКУМЕНТ ДОЛЖЕН ВМЕЩАТЬ " << n 
            << " СТРОКИ - ЗАПИСИ: \n";
            for(int i=0;i<n;i++)
            {
             cout << "\nФОРМИРОВАНИЕ " << i + 1 <<  "  ЗАПИСИ";
             cout << "\nВВЕСТИ НАЗВАНИЕ АВТОБАЗЫ (НЕ БОЛЬШЕ 15 СИМВОЛОВ):   ";
             cin >>  zapis[i].A; 
             cout << "\nУКАЖИТЕ КОЛИЧЕСТОВ ИСПОЛЬЗОВАНОГО ГОРЮЧЕГО: ";
             cin >> zapis[i].T; 
             cout << "\nКОЛИЧЕСТВО МАШИН: \n";
             cin >>  zapis[i].K;    
              zapis[i].C = zapis[i].T / zapis[i].K;
             cout<<"\nРАСХОДЫ: \n"<<zapis[i].C<<endl;
            }
    for(int m=0;m<=5;m++)
    {       
int menu;
        cout<<"МЕНЮ:\n1.НАЗВАНИЕ АВТОБАЗЫ\n2.КОЛИЧЕСТВО ИСПОЛЬЗОВАНОГО ГОРЮЧЕГО\n3.КОЛИЧЕСТВО МАШИН\n4.РАСХОДЫ\n5.ТАБЛИЦА";
        cin>>menu;
        for(int i=0;i<n;i++)
        {
        if(menu==1)
        {
            cout<<" \n"<<(zapis[i]).A;
        }
        if(menu==2)
        {
            cout<<" \n"<<(zapis[i]).T;
        }
        if(menu==3)
        {
            cout<<" \n"<<(zapis[i]).K;
        }
        if(menu==4)
        {
            cout<<" \n"<<(zapis[i]).C;
        }
        if(menu==5)
        {
            double temp;
for(int i=0; i<n; i++)
for (int j=n-1; j>i; j--)
{if(zapis[j-1].T<zapis[j].T)
{
temp=zapis[j-1].T;
zapis[j-1].T=zapis[j].T;
zapis[j].T=temp;        
 cout << "\n   ВЕДОМОСТЬ ПРО РАСХОДЫ ТОПЛИВА НА АВТОБАЗАХ ГОРОДА ";
 cout << "\n|-----------------------------------------------------------------------------|";
 cout << "\n|  №/зn  |  АВТОБАЗА   |   ИСПОЛЬЗОВАНО ГОРЮЧЕГО  |  КОЛИЧЕСТОВ МАШИН | РАСХОД  |";
 cout << "\n|-----------------------------------------------------------------------------|";
 
 for(int i=0;i<n;i++)
    cout << "\n|" << setw(11)<< "|" << setw(11)<< (zapis[i]).A << "|" <<setw(21)<< (zapis[i]).T<< "|"<<setw(19)<< (zapis[i]).K<< "|"<< setw(5)<<(zapis[i]).C << "|";
   cout << "\n|---------------------------------------------------------------------------| ";
     for(int i=0;i<n;i++)
        {
                  S1 += zapis[i].T;
                  S2 += zapis[i].K;
                  S3 += zapis[i].C;
     } 
   cout << "\n|ВМЕСТЕ  :             |" << setw(23)<< S1 << "|" << setw(15)<< S2<< "|" <<setw(5) << S3 << "|";
   cout << "\n|--------------------------------------------------------------------------|";
        }
        }
        }}
                    if(menu==0)
                    {
                    break;
                    }
}
 
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2013, 00:07     Не выходит сортировка
Посмотрите здесь:

не выходит решение на С++ C++
C++ не выходит решение на С++
Не выходит из функции C++
C++ не выходит из цикла while
C++ Не выходит перегрузка << и >>
C++ Не выходит из цикла
Блочная сортировка массива. Не выходит C++
Не выходит из цикла C++

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

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

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