la funzione pow
Von: adriano meis (umiumiumi@invalid.it) [Profil]
Datum: 03.07.2008 19:37
Message-ID: <978bk.20327$Ca.14676@twister2.libero.it>
Newsgroup: it.comp.lang.c
Datum: 03.07.2008 19:37
Message-ID: <978bk.20327$Ca.14676@twister2.libero.it>
Newsgroup: it.comp.lang.c
la funzione pow
Salve,
ho il dev c++ e win98.
Ho scritto il programmino che segua. il suo scopo è inizializzare il vettore
v[N] con gli
opportuni valori.
////////////////////////////////////////////////////////////////////////////
/////////////
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
main()
{
int N2,i;
double z,base;
double v[N];
base=(5/6);
v[0]=-9;
v[1]=0;
for(i=2; i<N; i++)
{
z=N-i;
v[i]=9*pow(base,(N-i));
printf("v[i]=%f\n", v[i]); getchar();
}
}
////////////////////////////////////////////////////////////////////////////
///////////
Esso non funziona. Infatti mi stampa a video di continuo, per ogni valore di
"i", il valore:
v[i]= 0.0000000.
invece, se al posto di:
double base;
base=5/6;
si ponga, nel codice precedente:
double base;
base=0.83333 (che grosso modo è pari a 5/6)
allora il problema scompare.
Perchè?
Che c'è di errato con base=5/6?
L'errore permane anche se io scriva:
double base;
base=(double) (5/6);
grazie,
adriano
[ Auf dieses Posting antworten ]Antworten
- Pleg (03.07.2008 21:00)
