В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
ValeryaKN15
ValeryaKN15
31.12.2021 16:15 •  Информатика

50 ! в программе мы создаем и заполняем динамический массив объектов класса. затем проводим сортировку массива по элементу x и выводим отсортированный массив. нужно исправить программу: #include #include #include using namespace std; class p { public: p(int x, int y) { this-> x = x; this-> y = y; }; /*void print() { cout < < x < < y < < endl; }*/ private: int x; int y; }; int main() { int size; cin > > size; p *arr = new p[size]; for (int i = 0; i < size; i++) { cin > > p arr[i].x; cin > > p arr[i].y; }; p temp(); // временная переменная для обмена элементов местами // сортировка массива пузырьком for (int i = 0; i < size - 1; i++) { for (int j = 0; j < size - i - 1; j++) { if (arr[j].x > arr[j + 1].x) { // меняем элементы местами temp.x = arr[j].x; arr[j].x = arr[j + 1].x; arr[j + 1].x = temp.x ; } } } // вывод отсортированного массива на экран for (int i = 0; i < size; i++) { cout < < arr[i].x < < " "; } delete [] arr; } }

Показать ответ
Ответ:
i942627
i942627
08.10.2020 07:37
#include <iostream>
using namespace std;
struct P
{
    P() = default;
    P(int x, int y)
    {
        this->x = x;
        this->y = y;
    };

    int x;
    int y;
};

int main()
{
    int size;
    cin >> size;
    P *arr = new P[size];
    for (int i = 0; i < size; i++) {
        cin >> arr[i].x;
        cin >> arr[i].y;
    };

    P temp; // временная переменная для обмена элементов местами

              // Сортировка массива пузырьком
    for (int i = 0; i < size - 1; i++) {
        for (int j = 0; j < size - i - 1; j++) {
            if (arr[j].x > arr[j + 1].x) {
                // меняем элементы местами
                temp.x = arr[j].x;
                arr[j].x = arr[j + 1].x;
                arr[j + 1].x = temp.x;
            }
        }
    }

    // Вывод отсортированного массива на экран
    for (int i = 0; i < size; i++) {
        cout << arr[i].x << " ";
    }

    delete[] arr;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота