that's the code i have for now... it's like the calculations are doing nothing... i can "see" what the loop is doing, i'll put some prinft to see how the variables are acting up.
-
-
#include <stdio.h>
-
#include <stdlib.h>
-
-
main()
-
{
-
// initialisation des variables
-
int nbrMax=0; // Nbr d'entiers à saisir
-
int produit=0;
-
int tableauNbr[nbrMax]; // Tableau pour contenir les nombres entrés par l'usager
-
int i, j, k; // Compteur boucle
-
int somme; // variables pour calcul nbr parfait
-
char condition; // Oui ou Non
-
-
// Boucle do ... while, pour ne pas devoir repartir le programme pour chaque calcul
-
do
-
{
-
printf ("Entrez le nombre d'entier (Max 10):\n");
-
scanf ("%d", &nbrMax);
-
-
// boucle pour la saisie des nombres et remplissage le tableau.
-
for (i = 0; i < nbrMax; i++)
-
{
-
scanf ("%d", &tableauNbr[i]);
-
}
-
-
// Calculs pour trouver les nombres parfaits
-
somme = 0;
-
for (j = 0; j < nbrMax; j++) {
-
-
for (k = 1; k < tableauNbr[j]; k++)
-
{
-
if(!tableauNbr[j]%k)
-
somme += k;
-
}
-
// Affichage des resultats
-
if (somme == tableauNbr[j])
-
printf("%d est un nombre parfait\n", tableauNbr[j]);
-
else {
-
printf("%d n'est pas un nombre parfait\n", tableauNbr[j]);
-
// produit *= tableaNbr[j]; // tableauNbr undeclared, first use in this function error...
-
}
-
}
-
-
-
printf("le produit des nombres non-parfaits est: %d", produit);
-
-
// Condition requise pour repartir du début
-
printf ("\nVoulez vous faire un autre calcul, (o/n)?");
-
fflush (stdin); // Fonction pour vider stdin
-
condition = toupper(getchar()); // Capitaliser la letter et soumettre à condition
-
}
-
while ( condition == 'O'); // Repartir du début si O
-
-
system("pause") ;
-
}
-
/*
Résultats:
==========
Entrez le nombre d'entier (Max 10):
2
6
28
6 n'est pas un nombre parfait
28 n'est pas un nombre parfait
le produit des nombres non-parfaits est: 0
Voulez vous faire un autre calcul, (o/n)?
Press any key to continue . . .
*/