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

Структуры и массивы, сортировка списка. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поменять местами два элемента массива http://www.cyberforum.ru/cpp-beginners/thread225523.html
Помогите решить пжл! в С++ ваще не шарю , а скора сессия I сем – Алгоритмические языки программирования Разработать схемы алгоритмов и программ (на Cu или C++) решение следующих задач: 1)...
C++ устранить ошибки Привет! Я уже обращался с подобной просьбой, но остался без ответа. помогите пожалуйста. срочно надо! задача такова что нужно написать программу которая сортирует массивы из 1000, 5000 и 10000... http://www.cyberforum.ru/cpp-beginners/thread225519.html
Сортировка одномерного массива C++
объясните пожалуйста алгоритм выполнения сортировки относительно компьютера(программы)
Сформировать одномерный массив целых чисел C++
Здравствуйте. Скажите пожалуйста, что изменить, чтобы всё работало. Программа компилируется, но я не понял всех нюансов здачи. вот сама задача: При выполнении работы используются статические...
C++ Использовать для работы с матрицами указатели и операции вида *p++, p++ http://www.cyberforum.ru/cpp-beginners/thread225470.html
Здравствуйте. снова обращаюсь к вам. Задание такое: Использовать для работы с матрицами указатели и операции вида *p++, p++ и т.д. Матрицы динамические, размер вводится с клавиатуры. Числовые...
C++ Вычислить значение выражения помгите плиз сделать Дано: x1,...,x7; l1,...,l6; a, b Определить: S = \frac{\sum_{i=1}^{7} ({x}_{i} - ab)}{\sum_{j=1}^{6}({l}_{i} - a)} ;{P}_{i}=S{l}_{i} подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
08.01.2011, 14:39
Да практически ничем. В первом примере изобрёл велосипед и вынес обмен переменных местами в самописный шаблонный swap:

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
#include <iostream>
 
struct A
{
    int a;
    char c;
};
 
void sort(A *, int);
template< typename T > void swap(T &, T &);
 
const int N = 5;
 
int main()
{
    A arr[N];
 
    for (int i = 0; i < N; ++i)
    {
        std::cout << "arr[" << i << "].a = ";
        std::cin >> arr[i].a;
        std::cout << "arr[" << i << "].c = ";
        std::cin >> arr[i].c;
    }
 
    sort(arr, N);
 
    for (int i = 0; i < N; ++i)
        std::cout << "arr[" << i << "].a = " << arr[i].a << "\tarr[" << i << "].c = " << arr[i].c << std::endl;
 
    return 0;
}
 
void sort(A *arr, int n)
{
    for (int i = 0; i < n; ++i)
        for (int j = n - 1; j > i; --j)
            if (arr[j - 1].a > arr[j].a)
                swap(arr[j - 1], arr[j]);
}
 
template< typename T >
void swap(T &left, T &right)
{
    T temp = left;
    left = right;
    right = temp;
}
Второй:

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
#include <iostream>
 
void function1();
void function2();
void function3();
void exit();
 
int main()
{
    int v;
 
    do
    {
        std::cout << std::endl <<
                     "Main menu:" << std::endl <<
                     "1. Item 1"  << std::endl <<
                     "2. Item 2"  << std::endl <<
                     "3. Item 3"  << std::endl <<
                     "4. Exit"    << std::endl <<
                     "Choise: ";
        std::cin >> v;
 
        switch (v)
        {
        case 1:
            function1();
            break;
        case 2:
            function2();
            break;
        case 3:
            function3();
            break;
        case 4:
            exit();
            break;
        default:
            std::cout << "You must enter a number from 1 to 4\nTry again" << std::endl << std::endl;
            continue;
        }
    }
    while (v != 4);
 
    return 0;
}
 
void function1()
{
    std::cout << std::endl << "Call function 1..." << std::endl;
}
 
void function2()
{
    std::cout << std::endl << "Call function 2..." << std::endl;
}
 
void function3()
{
    std::cout << std::endl << "Call function 3..." << std::endl;
}
 
void exit()
{
    std::cout << std::endl << "Exit..." << std::endl;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru