Bonjour,
Voici quelques remarques :
C'est pas la bonne signature pour la fonction main :
1 2 3
|
int main(void);
int main(int argc, char **argv); |
1 2
|
P=(int *)malloc(N/2*sizeof(int )); |
- Pas de cast et il faut un test après.
[EDIT]En plus, tu n'alloues pas assez d'éléments, dans ta boucle tu vas jusqu'à N/2... du coup faudrait allouer (N/2 + 1) éléments
[/EDIT]
1 2 3
|
for(i=1;i<=N/2;i++){
P[i]=2*i; |
Attention les tableaux commencent avec l'indice 0... Pourquoi s'en priver ?
%f serait mieux.
- il manque le free à la fin et un return
[EDIT]
Ton calcul est juste parce qu'il est exprimé en entier. Il faut passer le passer en flottant :
T = (N + P[i] - 1.0) / (N + P[i]) * ((N - P[i] + 2.0) / (N - P[i] + 1.0)) * R;
[/EDIT]
Jc
Partager