Добавлю от себя чуть-чуть
1. Алгоритма уравнения не существует! Ведь алгоритм - это последовательность действий, приводящая к определённому результату, поэтому правильней будет алгоритм решения или алгоритм нахождения корней.
2. В условии не уточнено - всех корней или только действительных, если всех - то случай D<0 тоже нужно корректно обрабатывать.
3. Если заранее не известно, квадратное ли уравнение задано, то есть на входе просто тройка чисел(a,b,c), алгоритм должен обязательно анализировать на a=0, b=0, c=0.
4. В качестве ответа на вопрос задачи подойдёт и любой численный алгоритм нахождения корней уравнения, например, дихотомию(деление отрезка, содержащего корень, пополам).
При этом, замечу, только численные алгоритмы дают решения даже для уравнений, степени выше 2.
Вот как, оказывается, интересно и сколько вопросов и вариантов может быть при анадизе даже такой простенькой задачки.
using namespace std;
int main()
{
int n,max;
bool a=false;
cout<<"enter kol-vo numbers:"<<endl;
cin>>n;
if(n<=1000)
{
int arr[n];
cout<< "enter 1 chislo"<<endl;
cin>>arr[0];
max=arr[0];
if(arr[0] % 10==3 && arr[0]<30000)
{
a=true;
for (int i=1;i<n;i++)
{
cout<<"enter "<<(i+1)<<" chislo"<<endl,
cin>>arr[i];
if(arr[i]>30000) { break; }
}
for (int i = 0; i < n; ++i) {
if (arr[i] > max && arr[i] % 10==3)
{
max = arr[i];
}
}
}
}
if(a){ cout<<" max chislo okanch na 3: "<< max<<endl; }
return 0;
}