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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чтение положительных чисел из строки http://www.cyberforum.ru/cpp-beginners/thread391342.html
Здравствуйте. Есть задача: дана строка с числами, разделенными пробелами. Необходимо из строки сохранить положительные числа. Разделение сделал, но как можно полученные подстроки перевести в числа и положительные записать в массив?
C++ двумерный массив! кто знает? Всем привет! Вопрос: Как в двумерном массиве посчитать количество столбцов, содержащих хотя бы один нулевой элемент!? http://www.cyberforum.ru/cpp-beginners/thread391340.html
C++ Добавление экземпляра структуры в конец коллекции
У меня задание: . Структура "Человек": - фамилия, имя, отчество; - домашний адрес; - номер телефона;
Сортировка строк не используя стандартных функций C++
Итак, дословно оглашу задачку: "Рассортировать массив строк в алфавитном порядке, перемещая строки. Стандартных функций работы со строками не использовать." Я решил, что строки будут вводиться с консоли - это я реализовать могу. Далее записать строки в массив - это я тоже могу. Рассортировать массив, не используя стандартных функций - вот это я не могу... Есть, конечно, идеи, но весьма...
C++ перегрузка операторов и функций http://www.cyberforum.ru/cpp-beginners/thread391329.html
Помогите пожалуйста хотя бы разобраться что нужно сделать класс стринг с горем пополам готов а вот дальше..... 1. Реализовать (на основе лекционного материала) класс String, который представляет строку символов произвольной длины (отчет - реализация класса). 2. Разработать класс структуры данных, содержащей строки String, в соответствии с вариантами заданий. Класс должен иметь интерфейс...
C++ По консольной графике #include <iostream> #include <conio.h> #include <graphics.h> using namespace std; class Point { protected: подробнее

Показать сообщение отдельно
dyosick
61 / 61 / 6
Регистрация: 25.08.2008
Сообщений: 178
25.11.2011, 13:47     Структуры. Сортировка массива структуры
Вроде бы работает, я твой алгоритм закомментил, ниже привел свой.
Причина некорректной работы тут не одна: когда выполняется условие avg[j] > avg[j + 1], то надо менять местами не только элементы массива gr , а и avg. А с другими, чесно гаворя, я не разбирался, склепал свой вариант. Ну, думая, теперь уже сам разберешься

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
double sort(student *gr, int n)
{
        double s;
        double *avg = new double [n];
        
        for(int i = 0; i < n; i++)
        {
                s = 0.;
                for(int j = 0; j < 5; j++)
                {
                        s += gr[i].ses[j];
                        avg[i] = s / 5;
                }
                cout << gr[i].name << " " << avg[i] << "\n";
        }
        cout << endl;
        /*
        for (int i = n - 1; i > 0; i--)
        {
                for(int j = 0; j < i; j++)
                {
                        if(avg[j] > avg[j + 1])
                        {
                                student x = gr[j];
                                gr[j] = gr[j + 1];
                                gr[j + 1] = x;
                        }
                }
        }*/
        
        bool flag = true;
        
        while(flag) {
            flag = false;        
                    
            for(int i = 0; i < n - 1; ++i) {
                if(avg[i] > avg[i + 1]) {
                    student x = gr[i];
                    gr[i] = gr[i + 1];
                    gr[i + 1] = x;
                    
                    double temp = avg[i];
                    avg[i] = avg[i + 1];
                    avg[i + 1] = temp;
                    
                    flag = true;
                }
            }
        }
        
        delete [] avg;
        return 0;
}
 
Текущее время: 08:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru