Probleme avec output valeur
ali
-
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
bonjour
est ce que vous pouvez m'aider avec ce programme, je suis sure qu'il est juste mais en output il me donne des valeur bizarre
meci en avance
#include<math.h>
#include<stdio.h>
#define Nmax 40
void main()
{
int N,i;
float a,x[Nmax],d;
puts("Calcul du terme d'indice N d'une suite de la forme :x[n]=(x[n-1]+a/x[n-1])/2");
do
{
do
{
printf("donner le valeur de a(>=0): ");
scanf("%f",&a);
}
while(a<0);
do
{
printf("donner la valeur de N(>0):");
scanf("%d",&N);
}
while(N<0);
x[0]=a/2;
for(i=0;i<=N;i++)
{
x[i+1]=(1/2)*((x[i])+(a/x[i]));
}
printf("la valeur calculee de x[%d] est=%f \n",N,x[N]);
d=x[N]*x[N];
printf("son carre est egal a: %f \n",d);
}
while(a!=0);
}
est ce que vous pouvez m'aider avec ce programme, je suis sure qu'il est juste mais en output il me donne des valeur bizarre
meci en avance
#include<math.h>
#include<stdio.h>
#define Nmax 40
void main()
{
int N,i;
float a,x[Nmax],d;
puts("Calcul du terme d'indice N d'une suite de la forme :x[n]=(x[n-1]+a/x[n-1])/2");
do
{
do
{
printf("donner le valeur de a(>=0): ");
scanf("%f",&a);
}
while(a<0);
do
{
printf("donner la valeur de N(>0):");
scanf("%d",&N);
}
while(N<0);
x[0]=a/2;
for(i=0;i<=N;i++)
{
x[i+1]=(1/2)*((x[i])+(a/x[i]));
}
printf("la valeur calculee de x[%d] est=%f \n",N,x[N]);
d=x[N]*x[N];
printf("son carre est egal a: %f \n",d);
}
while(a!=0);
}
A voir également:
- Probleme avec output valeur
- Vlc direct3d11 output ✓ - Forum Lecteurs et supports vidéo
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
- Valeur relative et absolue ✓ - Forum Webmastering
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Trouvez une valeur relative dans un tableau - Forum Excel
2 réponses
je suis sure qu'il est juste mais en output il me donne des valeur bizarre
C'est qu'il n'est pas si juste que ça...
void main()
Le prototype de main sans argument est : int main (void)
Et il faut mettre un return 0; à la fin.
while(N<0);
Il faudrait également vérifier que N<Nmax sinon, il y aura un segfault.
x[i+1]=(1/2)*((x[i])+(a/x[i]));
1/2 vaut 0. Donc x[i] vaudra 0 pour i>=1.
Mets plutôt (float)1/2 ou 1.0f/2 ou 1.f/2
D'ailleurs, je te conseille d'utiliser des double plutôt que les float.
Cdlt,
C'est qu'il n'est pas si juste que ça...
void main()
Le prototype de main sans argument est : int main (void)
Et il faut mettre un return 0; à la fin.
while(N<0);
Il faudrait également vérifier que N<Nmax sinon, il y aura un segfault.
x[i+1]=(1/2)*((x[i])+(a/x[i]));
1/2 vaut 0. Donc x[i] vaudra 0 pour i>=1.
Mets plutôt (float)1/2 ou 1.0f/2 ou 1.f/2
D'ailleurs, je te conseille d'utiliser des double plutôt que les float.
Cdlt,
ali
Merci beaucoup pour vos conseille