Добавлю от себя чуть-чуть
1. Алгоритма уравнения не существует! Ведь алгоритм - это последовательность действий, приводящая к определённому результату, поэтому правильней будет алгоритм решения или алгоритм нахождения корней.
2. В условии не уточнено - всех корней или только действительных, если всех - то случай D<0 тоже нужно корректно обрабатывать.
3. Если заранее не известно, квадратное ли уравнение задано, то есть на входе просто тройка чисел(a,b,c), алгоритм должен обязательно анализировать на a=0, b=0, c=0.
4. В качестве ответа на вопрос задачи подойдёт и любой численный алгоритм нахождения корней уравнения, например, дихотомию(деление отрезка, содержащего корень, пополам).
При этом, замечу, только численные алгоритмы дают решения даже для уравнений, степени выше 2.
Вот как, оказывается, интересно и сколько вопросов и вариантов может быть при анадизе даже такой простенькой задачки.
1:
#include<iostream>
#include<vector>
#include<iterator>
#include<ranges>
using namespace std;
int main()
{
vector<int> vec;
int sum=0;
istream_iterator<int> it{cin};
istream_iterator<int> end{};
while(it!=end)
{
vec.push_back(*it);
it++;
}
for(int i:vec | views::filter([](int i){return i%2==0;}))
{
sum+=i;
}
cout<<sum<<endl;
return 0;
}
2:
#include<iostream>
using namespace std;
int main()
{
int sum=0;
for(int i=2;i<=32;i+=3)
{
sum+=i;
}
cout<<sum<<endl;
return 0;
}
Объяснение: