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; } }
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;
}