[C++] Największa wartość w tablicy
Ostatnio zmodyfikowano 2013-03-30 12:02
przemuz Temat założony przez niniejszego użytkownika |
[C++] Największa wartość w tablicy » 2013-03-29 21:17:37 Witam! Mam następujący problem z moim programikiem. Otoz pokazuje mi on złą wartość największej wartości tablicy tab2.Największa wartość to według programu 1.#INF. Prosiłbym o pomoc w tej kwestii. double max = tab2[ 0 ];
for( int k = 0; k <= n; k++ ) { if( max < tab2[ k ] ) { max = tab2[ k ]; } } cout << max << endl;
[ / cpp ] |
|
Monika90 |
» 2013-03-29 23:22:02 Po pierwsze, wychodzisz poza zakres tablicy, tablica o rozmiarze n ma elementy o indeksach od 0 do n - 1.
Po drugie, zmienna gs1 przyjmuje dla pierwszych elementów tablicy tak duże wartości, że nie mieszczą się one w typie double, więc gs1 przyjmuje wartość plus nieskończoność, która drukowana jest jako 1.#INF.
Więc albo używasz nieodpowiedniego algorytmu do tego zadania, albo musisz użyć typu zmiennoprzecinkowego o większym zakresie, np. z biblioteki GMP.
|
|
przemuz Temat założony przez niniejszego użytkownika |
» 2013-03-30 12:02:53 Ok wielkie dzieki. Rozwiazalem problem. Wzor byl zbyt zlozony. Podzielilem go na licznik i mianownik i przypisalem do zmiennych i wszystko gra. Kod zedytowalem tylko do szukania maksymalnej wartosci w tablicy. |
|
« 1 » |