Вопрос задан 02.01.2019 в 13:43. Предмет Информатика. Спрашивает Бухарова Вика.

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; } }
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Омельченко Сабина.
#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

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос