Не могу рассортировать эти значения

Я постараюсь сделать это коротким и простым. Вот мое назначение (слишком большое, чтобы скопировать его здесь):

[Упражнение картинка 1] [2] [Упражнение картинка 2] [1]

Короче говоря, я создал новый стиль данных, который будет содержать 3 значения (a, b и c), которые должны быть приведены в уравнение, а затем он вычислит корни и отобразит его.
Я еще не почти закончил, но у меня есть некоторые проблемы с сортировкой значений (что мы должны сделать)

-2

Решение

Согласно моему комментарию:

Я считаю, что если вы инициализируете pass в 0, инициализируете i в (pass + 1), замените все V [i] на V [pass], а все V [i + 1] на V [i], ваш код должен работать как ожидаемый

void swap(Quadratic_equation arr[], int lowerIndex, int higherIndex) {
Quadratic_equation temp = arr[lowerIndex];
arr[lowerIndex] = arr[higherIndex];
arr[higherIndex] = temp;
}
void sort_equation_array(Quadratic_equation V[], int howMany)
{
for ( int pass = 0; pass < howMany; pass++ )
{

for (int i = (pass + 1); i <= howMany -1; i++)
{
if (V[pass].a > V[i].a)
{
swap(V, pass, i);
}
else if (V[pass].a == V[i].a &&
V[pass].b > V[i].b)
{
swap(V, pass, i);
}
else if (V[pass].a == V[i].a &&
V[pass].b == V[i].b &&
V[pass].c > V[i].c)
{
swap(V, pass, i);
}
}
}
}

Вы также должны очистить свой ввод, чтобы было легче определить, какие значения куда идут. Вот что я сделал, вы можете изменить это, чтобы сказать, что вы хотите, но вы поняли идею.

void get_quadratic_equation(Quadratic_equation &e)
{
cout << "a: ";
cin >> e.a;
cout << "b: ";
cin >> e.b;
cout << "c: ";
cin >> e.c;
}

int load_equation(Quadratic_equation V[], int n)
{
Quadratic_equation e;

int counter = 0;
cout << endl << "Set values for equation " << counter << endl;
get_quadratic_equation(e);

while (e.a != 0)
{
V[counter] = e;
++counter;

if (counter == n) break;
cout << endl << "Set values for equation " << counter << endl;
get_quadratic_equation(e);
}
cout << endl;
return counter;
}
** Введите квадратные уравнения **

Установите значения для уравнения 0
а: 1
Би 2
с: 3

Установите значения для уравнения 1
а: 4
б: 5
с: 6

Установите значения для уравнения 2
а: 7
б: 8
с: 9

Установите значения для уравнения 3
а: 8
б: 7
с: 6

Установите значения для уравнения 4
а: 5
б: 4
с: 3

Установите значения для уравнения 5
а: 2
б: 1
с: 0

Установите значения для уравнения 6
а: 0
б: 0
с: 0

** НЕ Сортировано **
1x ^ 2 + 2x + 3 корень 1 = -1,00 + i 1,41 корень 2 = -1,00-i 1,41
4x ^ 2 + 5x + 6 корень 1 = 0,00 + я 1,05 корень 2 = 0,00-я 1,05
7x ^ 2 + 8x + 9 корень 1 = 0,00 + я 0,98 корень 2 = 0,00-я 0,98
8x ^ 2 + 7x + 6 корень 1 = 0,00 + я 0,75 корень 2 = 0,00-я 0,75
5x ^ 2 + 4x + 3 корень 1 = 0,00 + я 0,66 корень 2 = 0,00-я 0,66
2x ^ 2 + 1x + 0 корень 1 = 0,00 корень 2 = -0,50

** отсортировано по **
1x ^ 2 + 2x + 3 корень 1 = -1,00 + i 1,41 корень 2 = -1,00-i 1,41
2x ^ 2 + 1x + 0 корень 1 = 0,00 корень 2 = -0,50
4x ^ 2 + 5x + 6 корень 1 = 0,00 + я 1,05 корень 2 = 0,00-я 1,05
5x ^ 2 + 4x + 3 корень 1 = 0,00 + я 0,66 корень 2 = 0,00-я 0,66
7x ^ 2 + 8x + 9 корень 1 = 0,00 + я 0,98 корень 2 = 0,00-я 0,98
8x ^ 2 + 7x + 6 корень 1 = 0,00 + я 0,75 корень 2 = 0,00-я 0,75
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector