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

Как отсортировать структуру - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Макрос прототипа функции http://www.cyberforum.ru/cpp-beginners/thread986463.html
Существует ли он? __FILE__ подставляет путь к файлу, в котором находится строка, в которой применён макрос. __LINE__ номер строки, в которой применён макрос. А есть что то подобное для прототипа...
C++ Чем отличаются эти функции? Аргумент в первой функции передается по значению. Это значит что создается копия переменной. А вот остальные не понимаю. void f1(int a) { a = a * a; } void f2(int &a) { a = a * a; } void... http://www.cyberforum.ru/cpp-beginners/thread986454.html
синус и косинус Ряда Тейлора C++
нужно задать диапазон до pi/4 что бы в ряде тейлора было меньше сумм помогите оптимизировать #include <iostream> #define _USE_MATH_DEFINES #include <math.h> using namespace std; int main() {...
C++ Ошибка вывода данных в файл
Помогите найти ошибку. Есть программа, которая выводит массив f из р=53 строк. В первой колонке х - целые числа от -26 до 26, во второй некоторые данные у(х) (приближенно у(х)-кубическая парабола). В...
C++ Написать программу структурного описания каталога одной книги http://www.cyberforum.ru/cpp-beginners/thread986426.html
//2. Написать следующие функции: // - вывести список всех книг; // - обеспечить хранение книг в следующей последовательности: авторы по алфавиту,книги по алфавиту; // - проверить наличие...
C++ Имя парамтера макроса Есть функция, её вызов надо так завернуть в макрос, чтоб в один из параметров функции передавать имя параметра макроса. Как написать макрос, подставляющий имя своего параметра? подробнее

Показать сообщение отдельно
newyork7776
349 / 342 / 80
Регистрация: 21.05.2013
Сообщений: 1,311
Завершенные тесты: 1
24.10.2013, 11:31
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <cstdlib>
#include <cstring>
 
using namespace std;
 
struct Books
{
    char Nazvan[50];          //название книги
    char Name_avtor[50];      //автор
    int Yaer_izd;          // год издания
    int Stranic;           //количество страниц
    double Cena;           //цена книги
};
 
void print(const Books &m)
{
    cout << "Nazvan = "    << m.Nazvan    << "\n"
         << "Name_avtor = " << m.Name_avtor << "\n"
         << "Yaer_izd = " << m.Yaer_izd << "\n"
         << "Stranic = " << m.Stranic << "\n"
         << "Cena = "     << m.Cena << "\n\n";
}
 
void init(Books &m)
{
    cout << "Nazvan: ";cin >> m.Nazvan;
    cout << "Name_avtor: ";cin >> m.Name_avtor;
    cout << "Yaer_izd: ";cin >> m.Yaer_izd;
    cout << "Stranic: ";cin >> m.Stranic;
    cout << "Cena: ";cin >> m.Cena;
    
}
  
void mySort(Books *arr, const int size)
{
    // пузырьковая сортировка. Сортируем по полю Name_avtor
    for (int i=0; i < size; i++)
        for (int j=size-1; j > i; j--)
            if (strcmp(arr[i].Name_avtor, arr[j].Name_avtor) > 0)
            {
                // мегняем местами
                Books tmp = arr[i]; // временная переменная
                arr[i] = arr[j];
                arr[j] = tmp;
            }
}
 
int main()
{
    const int size = 2;
    Books pArr[size];
    // в цикле инициализируем структуры
    for (int i=0; i < size; i++)
        init(pArr[i]);
 
    for (int i=0; i < size; i++)
        print(pArr[i]); // вызываем функцию print, передавая элемент массива pArr[i]
  
    cout << "\nSorted:\n";
    mySort(pArr, size);
    for (int i=0; i < size; i++)
        print(pArr[i]); // вызываем функцию print, передавая элемент массива pArr[i]
 
    system("pause"); // пауза
}

вот примерно вот так или направельно?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru