Решение квадратного уравнения (1 курс)
#include <iostream>
using namespace std;
int function(double a, double b, double c)
{
double &x1 = a;
double &x2 = b;
static int n;
if (a == 0)
{
if (b == 0 && c != 0)
{
return n = 0;
}
else
{
if (b != 0)
{
return n = 1;
}
else
{
return n = -1;
}
}
}
else
{
double d = 0;
d += b * b - 4 * a * c;
if (d < 0)
{
return n = 0;
}
else
{
if (d == 0)
{
return n = 1;
}
else
{
return n = 2;
}
}
}
}
int main()
{
int n;
double a, b, c;
cout << "Enter a, b, c: " << endl;
cin >> a >> b >> c;
switch (function(a, b, c))
{
case 1:
cout << 1;
break;
case 2:
cout << 2;
break;
case 0:
cout << 0;
break;
default:
cout << -1;
}
return 0;
}
В чем смысл, нужно реализовать функцию, которая получает коэффициенты как аргументы функции(уже сделано) и возвращает корни уравнения, как аргументы-ссылки. Прочитал много инфы, но так и не понял, что и с чем едят эти ссылки.
Ответы (1 шт):
Автор решения: HolyBlackCat
→ Ссылка
Вот пример функции, которая складывает два числа и возвращает результат через ссылку:
void sum(int a, int b, int &c)
{
c = a + b;
}
И пример вызова:
int main()
{
int x = 1, y = 2, z;
sum(x, y, z);
std::cout << z << '\n';
}
Вам нужно сделать что-то похожее.