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

Отсортировать страны по алфавиту и вывести на экран - C++

Восстановить пароль Регистрация
 
romanu416
0 / 0 / 0
Регистрация: 29.10.2013
Сообщений: 15
27.05.2014, 01:35     Отсортировать страны по алфавиту и вывести на экран #1
В программу вписываешь данные о странах а она и должна сортировать страны по афавиту и тогда их виводити.але как сделать сортировку я не знаю.поможить пожалуйста.

В void TComputer::Perevirka() должно сортировать страни в алфавитному порядку
я не знаю как сделать.

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
#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <locale.h>
 
using namespace std;
 
class TComputer
{
    char country[20];
    float area;
    int people;
    char neighboring_countries[60];
    int life;
public:
    TComputer();
    TComputer(char*,float,int,char*,int);
    ~TComputer();
    void Show();
    void Set();
    void Perevirka();
 
};
 
TComputer::TComputer()
{
    cout <<"Створили обєкт\n";
}
TComputer::TComputer(char* country,float area,int people,char* neighboring_countries,int life)
{
    strcpy(this->country,country);
    this->area=area;
    this->people=people;
    strcpy(this->neighboring_countries,neighboring_countries);
    this->life=life;    
    cout <<"Створили обєкт\n";
}
 
TComputer::~TComputer()
{
    cout <<"Видалили обєкт\n";
}
 
void TComputer::Show()
{
    cout<<"Назва країни - "<<country<<endl;
    cout<<"Площа - "<<area<<endl;
    cout<<"Кiлькiсть населення - "<<people<<endl;
    cout<<"Сусідні країни - "<<neighboring_countries<<endl;
    cout<<"Середня тривалість життя - "<<life<<endl;
    cout<<endl;
}
 
void TComputer::Set()
{
    cout<<"Назва країни - ";
    cin>>country;
    cout<<"Площа - ";
    cin>>area;
    cout<<"Кiлькiсть населення - ";
    cin>>people;
    cout<<"Сусідні країни - ";
    cin>>neighboring_countries;
    cout<<"Середня тривалість життя - ";
    cin>>life;
    cout<<endl;
 
}
void TComputer::Perevirka()
{
        this->Show();
}
 
 
 
int main()
{   
    setlocale(LC_ALL, "Ukrainian");
    system("color F1");
    TComputer o("Австрія",8768,38,"Угорщина, Чехія, Швейцарія, Німечинна",60);
    o.Show();
    TComputer comp[6];
    for (int i=0;i<6;i++){
        comp[i].Set();}
    int hdd,ram;
    cout<<"Сортування в алфавітному порядку \n";
    cout<<endl;
    for (int i=0;i<6;i++)
        comp[i].Perevirka();
    o.Perevirka();
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2014, 01:35     Отсортировать страны по алфавиту и вывести на экран
Посмотрите здесь:

C++ заполнить массив рандом из 20 чисел, отсортировать по возрастанию и вывести на экран
C++ Отсортировать массив по возрастанию и вывести на экран
Прочитать из файла массив, отсортировать, результат вывести на экран. C++
C++ Вывести на экран слова текста в порядке, соответствующем латинскому алфавиту
[C++] Отсортировать и вывести на экран массив структур C++
C++ В строку через пробел вводятся слова. Отсортировать введенные слова по алфавиту. Результат вывести в виде столбца.
Отсортировать ФИО по алфавиту C++
Отсортировать имена по алфавиту C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
27.05.2014, 05:11     Отсортировать страны по алфавиту и вывести на экран #2
romanu416, дальше уже вставляйте в свой код
Сортировка
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
#include <iostream>
#include <string>
#include <windows.h>
#include <vector>
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    std::string s1, s2;
    
    char chStr[] = "Угорщина, Чехія, Швейцарія, Німечинна";
    char* p = std::strtok(chStr, " ,");
    std::vector<std::string> arr;
    while(p != NULL)
    {
        arr.push_back(p); //Сохранение лексем
        p = strtok(NULL, " ,");
    }
    
    //Сортировка
    for(int i = 0; i < arr.size() - 1; i++)
    {
        for(int j = 0; j < arr.size() - 1; j++)
        {
            s1 = arr[j];
            s2 = arr[j + 1];
            int size = (s1.size() > s2.size()) ? s2.size()
                                               : s1.size();
            for(int l = 0; l < size; l++)
            {
                char c1 = s1[l], c2 = s2[l];
                if(isupper(c1))
                    c1 = tolower(c1);
                if(isupper(c2))
                    c2 = tolower(c2);
                if(c1 > c2)
                {
                    std::swap(arr[j], arr[j + 1]);
                    break;
                }
                if(c1 != c2)
                    break;
            }
        }
    }
    
    for(int i = 0; i < arr.size(); i++)
        std::cout << arr[i] << std::endl;
    
    system("pause");
    return 0;
}
Yandex
Объявления
27.05.2014, 05:11     Отсортировать страны по алфавиту и вывести на экран
Ответ Создать тему
Опции темы

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