Witam,
oto zadanie : http://pl.spoj.com/problems/ROWNANIE/
Mam problem z zaprogramowaniem tego : Na wejście programu podana zostanie pewna nieokreślona, ale niewielka ilość zestawów danych. Co to oznacza nieokreślona ale niewielka ilość? Dla mnie to coś z zakresu short int np. 10 dla komputera to może być coś z zakresu double 100mln. Jak można sprawdzić taki warunek na SPOJ. Oto część kodu:
int dlugosc = 3;
// tu ta nieokreślona ilość
float a,b,c,delta;
int wynik[dlugosc];
int index = 0;
for(int i = 0 ; i < dlugosc ; i++ )// nie wiem jakiego tu użyć warunku
{
cin >> a >> b >> c ;
delta = (b*b) - (4 * a * c);
if(delta == 0)
{
wynik[index++] = 1 ;
}
else if(delta > 0)
{
wynik[index++] = 2 ;
}
else
{
wynik[index++] = 0;
}
}
for(int i = 0 ; i < index ; i++)
{
cout << wynik[i] << endl;
}
Najważniejszy jest początek. Takie są reguły:
Wejście:
0.3 0.3 0.4
0.5 1 0.5
-0.5 -0.5 0
Wyjście:
0
1
2
Próbowałem użyć nieskończoną for(;;;) . Jako długość podawałem maksymalną wartość int i dalej nic. Przypomnę że nie można dodać jeszcze jednego cin'a(do długości) bo wtedy algorytm nie będzie spełniał reguł wejścia.