С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ В строке найти количество групп с пятью символами Дана строка, состоящая из групп нулей и единиц. Каждая группа отделяется от другой одним или несколькими пробелами. Найти количество групп с пятью символами. https://www.cyberforum.ru/ cpp-beginners/ thread1947100.html C++ Считать две матрицы из файла и записать в массивы
Элементы целочисленной матрицы размерностью 4x5 хранятся в текстовом файле MATRIX.TXT. Прочитать данные из файла MATRIX.TXT в массивы a и b той же размерности. Вычислить C=a+b. Пример файла MATRIX.TXT: 12 37 0 2 5 -10 20 7 –2 5 7 17 21 4 0 14 8 9 21 0 77 0 9 33 24 51 –20 71 84 91 19 17 –17 0 0 0 1 2 3 4
C++ С++.Ввести с клавиатуры строку, состоящая из групп нулей и единиц Всё задание звучит так"Ввести с клавиатуры строку, состоящая из групп нулей и единиц. Найти и вывести на экран группы с четным количеством символов." Основную часть сделал ввод не получается: #include <iostream> #include <string> using namespace std; int main() { char str = "110000001111111000011111100101111000100001111110001011111111111\0"; for (int i = 0; str != '\0'; i++) {... https://www.cyberforum.ru/ cpp-beginners/ thread1947088.html C++ Для заданных двух графов построить их соединение добрый день! помогите решить задачу: Соединением графов G1 и G2 называется граф G=(V,E), для которого V=V1объединениеV2, E=E1(объединении)E2(объединение){{vi,vj}: vi(объединение)V1& vj(объединение)V2}. Соединение гра¬фов, обозначаемое G1+G2, содержит все вершины и ребра графов G1 и G2, а также ребра, соединяющие каждую вершину из V1 с каждой вер¬шиной из V2. Для заданных двух графов построить... https://www.cyberforum.ru/ cpp-beginners/ thread1947072.html
C++ Бинарные деревья поиска: функция определения минимума
Добрый день! Помогите пожалуйста написать функцию минимума для бинарного дерева поиска (основная программка имеется)#include "StdAfx.h" #include <iostream> #include < conio.h > using namespace std; struct node { int Key; int Count;
C++ Вычислить значение периодической функции https://www.cyberforum.ru/ cpp-beginners/ thread1947065.html
Дано действительное число а. Вычислить f(a), где f – периодическая функция с периодом 2, совпадающая на отрезке с функцией, график которой изображен на рисунке.
C++ Разобраться с левосторонним обходом бинарного дерева Здравствуйте,помогите подробно разобраться как происходит левосторонний обход дерева на примере Код: void TREE::ObhodLeft (node **w) //Левосторонний обход дерева. //*w - указатель на корень дерева. { if (*w!=NULL) { cout<<(**w).Key<<" "; (**w).Numb=n++; cout<<"("<<n<<") "; https://www.cyberforum.ru/ cpp-beginners/ thread1947052.html Блок схема C++
Правильно я создал блок-схему функции? //функция считать с файла void open() { char row; FILE *ftxt; // создаем указатель на файл ftxt=fopen("file.csv","r");// открываем файл для чтения char a,_b,c,d,e, f, g, _h; int kol; kol=0; int j; j=0; int i; while (!feof(ftxt))//пока не конц файла
C++ Многофайловый проект Здравия всем! Опять зеленый метушится! Перед, непосредственно, главным вопросом, хочу показать то, что мне известно (если я не заблуждаюсь). Если обобщить, понимаю, что есть следующие 3 основных этапа сборки программы: 1) препроцессирование; 2) компиляция; 3) линковка. Как работает препроцессор, мне известно (или, по крайней мере, имею понятие). Представление компиляции и линковки тоже... https://www.cyberforum.ru/ cpp-beginners/ thread1947010.html C++ Перевести формат double в CString Всем привет! Я сейчас делаю программу в mfc, в которой при нажатии определенной кнопки в поле (которое имеет формат double) должно записываться слово. Собственно вопрос: каким образом мне это сделать? Всем заранее спасибо за ответы! https://www.cyberforum.ru/ cpp-beginners/ thread1947002.html
C++ Обработка ошибок cin (тип bool)
Доброго времени суток. Собственно, проблема. Надо поймать все ошибки при вводе в тип bool: буквы, ентеры, пробелы, цифры, отличные от 0 и 1.. Работает все, кроме ввода букв. При вводе буквы операция ввода игнорируется, как будто что-то остаётся в буфере, хотя буфер очищается. Код: std::cin.unsetf(std::ios::skipws); bool select(true); do { std::cin >> select; // при вводе букв...
C++ Генератор случайных чисел на С++ <random> генератор случайных чисел в <random> http://www.cplusplus.com/reference/random/ генератор постоянно генерирует одни и те же числа, может ест аналог "srand"? и как генерировать целые числа, а как дробные? template <typename T> T *TmpSortAll<T>::RandomSeed(T *a, int arrSize, int last_value, int firs_value, int on_off) { //random_number = rand() % last_value + firs_value; https://www.cyberforum.ru/ cpp-beginners/ thread1946990.html
0 / 0 / 0
Регистрация: 27.03.2017
Сообщений: 19
0

Сортировка массива объектов функцией sort - C++ - Ответ 10262049

27.03.2017, 10:46. Показов 3358. Ответов 1
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Не получается отсортировать массив объектов. После сортировки должен вывестись список отсортированных по мощности объектов. Код криворукий, но как могу, ибо учусь только. Кол-во объектов должно быть динамическим.
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
100
101
102
103
104
105
106
107
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
 
using namespace std;
 
const int num = 5;
 
class device {
public:
    int power;
    string name;
    string checkcomp = "computer";
    string checkfridge = "fridge";
    string checkmicrowave = "microwave";
    
 
    friend istream & operator >> (istream & is, device & a) {
        cout << "Введите название прибора : " << endl;
        is >> a.name;
        cout << "Введите мощность " << a.name << " (Вт) :" << endl;
        is >> a.power;
        cout << endl;
        return is;
    }
 
    friend ostream & operator << (ostream & os, device & a) {
        os << a.name << "  " << a.power <<" (Вт)"<< endl;
        return os;
    }
};
 
class computer : public device {
public:
    int noise;
};
 
class fridge : public device {
public:
    int volume;
};
 
class microwave : public device {
public:
    int heat;
};
 
 
 
 
int main() {
    setlocale(0, "");
    int max, sum;
    cout << "Введите максимальный порог мощности в доме/квартире : " << endl;
    cin >> max;
    cout << endl;
    device catalog[num];
    computer pcomputer;
    microwave pmicrowave;
    fridge pfridge;
    for (int i = 0; i < num; i++) {
        cin >> catalog[i];
        if (catalog[i].name == catalog[i].checkcomp) {
            cout << "Обнаружен компьютер. Введите шум (Дб) компьютера : " << endl;
            cin >> pcomputer.noise;
        }
        if (catalog[i].name == catalog[i].checkfridge) {
            cout << "Обнаружен холодильник. Введите вместимость (м) холодильника : " << endl;
            cin >> pfridge.volume;
        }
        if (catalog[i].name == catalog[i].checkmicrowave) {
            cout << "Обнаружена микроволновая печь. Введите тепловыделение (Дж) микроволновой печи : " << endl;
            cin >> pmicrowave.checkmicrowave;
        }
    }
 
    cout << "Список электроприборов : " << endl;
    for (int i = 0; i < num; i++) {
        cout << "(" << i << ") " << catalog[i];
    }
    cout << endl;
 
    sum = (catalog[0].power + catalog[1].power + catalog[2].power + catalog[3].power + catalog[4].power);
    
 
    int mass[num] = { catalog[0].power, catalog[1].power, catalog[2].power, catalog[3].power,catalog[4].power };
 
 
 
    vector<device> v(catalog, catalog + num);
 
    sort(v.begin(), v.begin() + num);
 
    cout << "Отсортированная мощность по возрастанию : " << endl;
    for (int i = 0; i < num; i++) {
        cout << v[i] << endl;
    }
    cout << endl;
    if (sum>max){
        cout << "Ваш максимальный порог мощности превышен (" << max << " Вт) " << "превышен электроприборами (" << sum << " Вт)" << endl;
    }
    else cout << "Вашего максимального порога мощности (" << max << " Вт) " << "достаточно для электроприборов (" << sum << " Вт)" << endl;
 
    system("pause");
    return 0;
}


Вернуться к обсуждению:
Сортировка массива объектов функцией sort C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2017, 10:46
Готовые ответы и решения:

Сортировка объектов функцией sort() по данным объекта
Есть класс Man, при создании его объекта в вектор &quot;люди&quot; должно заносить этот объект. После вызова...

Сортировка std::list с функцией sort()
У меня задание написать Отсортировать числовую последовательность в порядке возрастания...

Сортировка vectora обьектов функцией sort из algorithm
помогите написать предикат CompareStudent к функции sort нужно чтобы вначале сортировало по...

Std::sort сортировка вектора объектов
Добрый день. Пытаюсь выполнить сортировку вектора объектов с помощью функции сравнения ...

1
27.03.2017, 10:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2017, 10:46
Помогаю со студенческими работами здесь

Сортировка массива c++ std :: sort()
Дан двумерный массив символов char M, надо отсортировать его при помощи std :: sort(), построчно,...

Сортировка двумерного массива методом Выбора. Select sort
Задание: Упорядочить каждую строку матрицы по убыванию. Отсортировал пузырьком, а вот &quot;Выбором&quot;...

Сортировка массива с использованием алгоритма стандартной библиотеки шаблонов Sort()
6.Напишите программу на языке программирования С++, сортирующую массив с использованием алгоритма...

Сортировка массива структур по выбранному полю с помощью алгоритма std::sort
Не знаю, как правильно передать функцию сравнения в std::sort. Кроме того в моей структуре...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru