obiekt klasy array
Ostatnio zmodyfikowano 2014-05-04 16:59
winio94 Temat założony przez niniejszego użytkownika |
obiekt klasy array » 2014-04-30 17:33:30 Cześć. Mam użyć w programie obiektu klasy array dla 100 wartości typu long double i obliczyć 100! #include<iostream> #include<array> #include<conio.h>
using namespace std; const int Arsize = 101; int main() { array < long double, Arsize > tabarr; tabarr[ 1 ] = tabarr[ 0 ] = 1; for( int i = 2; i < Arsize; i++ ) { tabarr[ i ] = i * tabarr[ i - 1 ]; } for( int i = 0; i < Arsize; i++ ) cout << i << "! = " << tabarr[ i ] << endl; getch(); return 0; } dlaczego wyniki sa z minusami oraz wartośc 2! jest -0?(obie sytuacje nie mają miejsca jeżeli wartości byłyby typu dobule, int lub long int czy nawet long long int) |
|
Monika90 |
» 2014-04-30 17:53:03 Moim zdaniem ten program jest poprawny, tzn. nie zachowuje się tak jak opisałeś. |
|
winio94 Temat założony przez niniejszego użytkownika |
» 2014-04-30 18:10:02 LONG DOUBLE:
0! = -0 1! = -0 2! = -0 3! = -2 4! = -2 5! = -3.10504e+231 6! = -3.18618e-058 7! = -1.35666e-166 8! = -1.35666e-166 9! = -9.05568e-072 10! = -2.13401e+142 11! = -9.31519e-192 12! = -4.72401e+175 13! = -2.5143e-031 14! = -4.57401e-143 15! = -6.07857e-192 16! = -6.07857e-192 17! = -3.9374e-146 18! = -1.00067e-048 19! = -2.14614e+116 20! = -1.06929e-274 21! = -2.02307e-071 22! = -2.9729e+249 23! = -1.98327e-081 24! = -2.32675e-292 25! = -2.14112e+064 26! = -8.51497e-122 27! = -2.52495e-247 28! = -6.25641e+261 29! = -3.79461e+150 30! = -2.38193e+083 31! = -8.00952e+051 32! = -8.00952e+051 33! = -2.5684e+082 34! = -2.16718e+145 35! = -4.14765e+245 36! = -5.35079e-267 37! = -3.48066e-164 itd.
LONG LONG INT
0! = 1 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880 10! = 3628800 11! = 39916800 12! = 479001600 13! = 6227020800 14! = 87178291200 15! = 1307674368000 16! = 20922789888000 17! = 355687428096000 18! = 6402373705728000 19! = 121645100408832000 20! = 2432902008176640000 21! = -4249290049419214848 22! = -1250660718674968576 23! = 8128291617894825984 24! = -7835185981329244160 25! = 7034535277573963776 26! = -1569523520172457984 27! = -5483646897237262336 28! = -5968160532966932480 29! = -7055958792655077376 30! = -8764578968847253504 31! = 4999213071378415616 32! = -6045878379276664832 33! = 3400198294675128320 34! = 4926277576697053184 35! = 6399018521010896896 36! = 9003737871877668864 37! = 1096907932701818880
itd.(później same zera z powodu wiadomego)
Raczej nie pisałbym gdyby działał dobrze ;) |
|
Monika90 |
» 2014-04-30 18:16:10 |
|
winio94 Temat założony przez niniejszego użytkownika |
» 2014-04-30 18:26:10 No to musze przyznac że jestem w lekkim szoku :D Jaka może być przyczyna tego zjawiska?Wyniki sa całkowicie inne. Pracuję na Devie c++ 6.62.
|
|
MrPoxipol |
» 2014-04-30 18:47:28 Kompilujesz z flagą std=c++11? |
|
winio94 Temat założony przez niniejszego użytkownika |
» 2014-04-30 19:47:32 tak, jesli chodzi Ci o to co dopisałem do polecen kompilatora -std=c++11 |
|
MrPoxipol |
» 2014-04-30 19:55:48 Pracuję na Devie c++ 6.62. |
Taka wersja chyba nie istnieje? (nie wiem dokładnie) Podaj najlepiej wersje kompilatora. Tak czy siak. Kod jest dobry. |
|
« 1 » 2 3 |