Предмет: Информатика,
автор: iiigor
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
#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;
}
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;
}
Похожие вопросы
Предмет: Биология,
автор: bayramovt996
Предмет: Русский язык,
автор: angelinamartynuk79
Предмет: Математика,
автор: 18102009eva
Предмет: Математика,
автор: malika70
Предмет: История,
автор: pukanoid