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 N=32,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
Pleg