Erreur : Algo2.exe a cessé de fonctionné
Résolu
Tydher
Messages postés
127
Statut
Membre
-
Tydher Messages postés 127 Statut Membre -
Tydher Messages postés 127 Statut Membre -
Bonjour à tous.
Le but de mon algo (nommé Algo2.exe) en C est de saisir une suite de valeur et d'afficher
le plus petit,
le nombre de valeurs nulle
et la moyenne des nombres positifs
Cependant, lors de l'exécution, j'ai un message me disant que l'algo a arrêter de fonctionner. J'arrive a saisir les valeurs mais aucun résultats ne s'affiche, seul la fenetre avec message d'erreur apparait.
Voila le code :
//EAP de saisir les valeurs d'une suite d'entiers et d'afficher :
// le plus petit nombre
// le nombre de valeur nulle
// la moyenne des nombres positifs
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main()
{
int nbelem, min, total, moyenne, j, valnulle, i, val; // j est un compteur de nombre positifs
//Saisi du nombre d'elements de la suite
printf("Saisir le nombre d'elements \n");
scanf("%d", &nbelem);
//initialisation
min = 0;
total = 0;
j = 0;
valnulle = 0;
//Pour i de 1 a nombre d'elements faire ...
for(i=1;i<=nbelem;i++)
{
//Saisir une valeur
printf("Saisir une valeur \n");
scanf("%d", &val);
//Si elle est inferieur a 0
if(val < 0)
{
// Si elle est inferieur a min
if(val<min)
{
min = val;
}
}
//Si elle est egal a 0
if(val == 0)
{
valnulle = valnulle + 1;
}
// Si elle est superieur a 0
if(val > 0 )
{
total = total + val;
j = j + 1;
}
}
//affichage des resultats
if(min=0)
{
printf("Il n'y a pas de nombre negatif");
}
if(j=0)
{
printf("Aucune valeur positive");
}
else
{
moyenne = total / j;
}
printf("la valeur minimum est %d , le nombre de nulle est %d , la moyenne est %d", min, valnulle, moyenne);
system("pause");
}
Voila l'erreur en question :
http://imageshack.com/f/bgerreuryj
Je suis a votre disposition en cas de question.
Merci d'avance !
Le but de mon algo (nommé Algo2.exe) en C est de saisir une suite de valeur et d'afficher
le plus petit,
le nombre de valeurs nulle
et la moyenne des nombres positifs
Cependant, lors de l'exécution, j'ai un message me disant que l'algo a arrêter de fonctionner. J'arrive a saisir les valeurs mais aucun résultats ne s'affiche, seul la fenetre avec message d'erreur apparait.
Voila le code :
//EAP de saisir les valeurs d'une suite d'entiers et d'afficher :
// le plus petit nombre
// le nombre de valeur nulle
// la moyenne des nombres positifs
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main()
{
int nbelem, min, total, moyenne, j, valnulle, i, val; // j est un compteur de nombre positifs
//Saisi du nombre d'elements de la suite
printf("Saisir le nombre d'elements \n");
scanf("%d", &nbelem);
//initialisation
min = 0;
total = 0;
j = 0;
valnulle = 0;
//Pour i de 1 a nombre d'elements faire ...
for(i=1;i<=nbelem;i++)
{
//Saisir une valeur
printf("Saisir une valeur \n");
scanf("%d", &val);
//Si elle est inferieur a 0
if(val < 0)
{
// Si elle est inferieur a min
if(val<min)
{
min = val;
}
}
//Si elle est egal a 0
if(val == 0)
{
valnulle = valnulle + 1;
}
// Si elle est superieur a 0
if(val > 0 )
{
total = total + val;
j = j + 1;
}
}
//affichage des resultats
if(min=0)
{
printf("Il n'y a pas de nombre negatif");
}
if(j=0)
{
printf("Aucune valeur positive");
}
else
{
moyenne = total / j;
}
printf("la valeur minimum est %d , le nombre de nulle est %d , la moyenne est %d", min, valnulle, moyenne);
system("pause");
}
Voila l'erreur en question :
http://imageshack.com/f/bgerreuryj
Je suis a votre disposition en cas de question.
Merci d'avance !
A voir également:
- Erreur : Algo2.exe a cessé de fonctionné
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
2 réponses
Division par zéro : il manque un = dans ta condition ... Là tu affectes j à 0, et vu que c'est faux, il va dans le else et divise avec la nouvelle valeur de j.
Pour le reste de ton programme :
- Quand tu incrémentes une variable, fais variable++; c'est plus clair.
- Quand tu fais une opération telle que variable=variable*2;, fais variable*=2;, pour la même raison.
- Indente ton code : là c'est un tout petit programme, mais prends déjà les bonnes habitudes sinon tu te perdras vite dans des programmes plus volumineux ...
Google is your best friend
VB.NET is good ... VB6 is better !
if(j==0)
printf("Aucune valeur positive");
else
moyenne = total / j;
On voit quand même pas ça souvent ...
Pour le reste de ton programme :
- Quand tu incrémentes une variable, fais variable++; c'est plus clair.
- Quand tu fais une opération telle que variable=variable*2;, fais variable*=2;, pour la même raison.
- Indente ton code : là c'est un tout petit programme, mais prends déjà les bonnes habitudes sinon tu te perdras vite dans des programmes plus volumineux ...
Google is your best friend
VB.NET is good ... VB6 is better !