Faire la somme des elements d'un tableau en C
Résolu
acrony
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
acrony Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
acrony Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je travaille sur un petit programme qui doit être capable 'enregistrer une liste d'entiers et d'en sortir la somme et la moyenne. Comme le nombre d'entiers ne doit pas toujours être le même et l'utilisateur doit pouvoir entrer autant d'entiers qu'il veut...j'ai choisi de travailler avec l'allocation dynamique d'espace pour la création du tableau qui recevrai mes entiers. Jusque la ca va j'arrive a enregistrer la liste d'entiers et a les afficher...
La ou ca coince c'est que j'arrive pas a calculer ni la somme ni la moyenne...
Merci de votre coup de main
#include <stdio.h>
#include <stdlib.h>
int main()
{
int numbofinput = 0, i = 0, sum = 0, product = 0 ;
int* sizeofarray = NULL; // This will be the array
printf("what is the number of your input ? ");
scanf("%d", &numbofinput);
if ( numbofinput > 0) // The user must enter a minimum of one input
{
sizeofarray = malloc( numbofinput * sizeof(int));
if ( sizeofarray == NULL)
{
exit(0);
}
for (i = 0 ; i < numbofinput ; i++)
{
printf("Enter the number n: %d : \n", i + 1);
scanf("%d", &sizeofarray[i]);
}
printf("\n\n This is the list of your inputs :\n");
for (i = 0 ; i < numbofinput ; i++)
{
printf("%d\n", sizeofarray[i]);
}
/* for ( i = 0; i < sizeofarray ; i++)
{
sum = sum + sizeofarray[i];
printf("\n This is the sum of your inputs :\n");
printf("Sum=%d\n", sum);
}*/
free(sizeofarray);
}
return 0;
}
Je travaille sur un petit programme qui doit être capable 'enregistrer une liste d'entiers et d'en sortir la somme et la moyenne. Comme le nombre d'entiers ne doit pas toujours être le même et l'utilisateur doit pouvoir entrer autant d'entiers qu'il veut...j'ai choisi de travailler avec l'allocation dynamique d'espace pour la création du tableau qui recevrai mes entiers. Jusque la ca va j'arrive a enregistrer la liste d'entiers et a les afficher...
La ou ca coince c'est que j'arrive pas a calculer ni la somme ni la moyenne...
Merci de votre coup de main
#include <stdio.h>
#include <stdlib.h>
int main()
{
int numbofinput = 0, i = 0, sum = 0, product = 0 ;
int* sizeofarray = NULL; // This will be the array
printf("what is the number of your input ? ");
scanf("%d", &numbofinput);
if ( numbofinput > 0) // The user must enter a minimum of one input
{
sizeofarray = malloc( numbofinput * sizeof(int));
if ( sizeofarray == NULL)
{
exit(0);
}
for (i = 0 ; i < numbofinput ; i++)
{
printf("Enter the number n: %d : \n", i + 1);
scanf("%d", &sizeofarray[i]);
}
printf("\n\n This is the list of your inputs :\n");
for (i = 0 ; i < numbofinput ; i++)
{
printf("%d\n", sizeofarray[i]);
}
/* for ( i = 0; i < sizeofarray ; i++)
{
sum = sum + sizeofarray[i];
printf("\n This is the sum of your inputs :\n");
printf("Sum=%d\n", sum);
}*/
free(sizeofarray);
}
return 0;
}
A voir également:
- Somme des éléments d'un tableau en c
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Formule somme excel colonne - Guide
- Imprimer un tableau excel - Guide
3 réponses
Ca fait longtemps que je n'ai pas fait de c mais je dirais que le calcul ne se fait pas car il s'agit d'un tableau de pointeurs.
Essaye : sum = sum + &sizeofarray[i];
Essaye : sum = sum + &sizeofarray[i];
Char Snipeur
Messages postés
9813
Date d'inscription
Statut
Contributeur
Dernière intervention
1 299
si c'est pour dire de grosses conneries, mieux vaut s'abstenir.
La somme n'est pas bonne ?
Je ne vois pas où est le problème, à part qu'en général on sort les printf de la boucle de sommation.
Si, j'ai le bug, tu fait la boucle jusqu'à sizeofarray au lieu de numbofinput
Je ne vois pas où est le problème, à part qu'en général on sort les printf de la boucle de sommation.
Si, j'ai le bug, tu fait la boucle jusqu'à sizeofarray au lieu de numbofinput
Salut
Ça passe pas, la je suis bloqué. Je ne vois pas ou se situe le problème. après avoir lister les nombres entrés le programme ne lit même pas la suite (calcul de la somme) l'exécution s'arrête net .
Ça passe pas, la je suis bloqué. Je ne vois pas ou se situe le problème. après avoir lister les nombres entrés le programme ne lit même pas la suite (calcul de la somme) l'exécution s'arrête net .
j'ai copié ligne par ligne ta proposition, je l'ai insérée dans mon code. Lors de la compilation cette partie du code n'est pas prise en compte. voici le code complet avec ta solution:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int numbofinput = 0, i = 0, sum = 0, product = 0, indice = 0 ;
int* sizeofarray = NULL; // This will be the array
printf("what is the number of your input ? ");
scanf("%d", &numbofinput);
if ( numbofinput > 0) // The user must enter a minimum of one input
{
sizeofarray = malloc( numbofinput * sizeof(int));
if ( sizeofarray == NULL)
{
exit(0);
}
for (i = 0 ; i < numbofinput ; i++)
{
printf("Enter the number n: %d : \n", i + 1);
scanf("%d", &sizeofarray[i]);
}
printf("\n\n This is the list of your inputs :\n");
for (i = 0 ; i < numbofinput ; i++)
{
printf("%d\n", sizeofarray[i]);
}
for ( i = 0; i < numbofinput ; i++)
{
sum = sum + sizeofarray[i];
}
printf("\n This is the sum of your inputs :\n");
printf("Sum=%d\n", sum);
free(sizeofarray);
}
return 0;
#include <stdio.h>
#include <stdlib.h>
int main()
{
int numbofinput = 0, i = 0, sum = 0, product = 0, indice = 0 ;
int* sizeofarray = NULL; // This will be the array
printf("what is the number of your input ? ");
scanf("%d", &numbofinput);
if ( numbofinput > 0) // The user must enter a minimum of one input
{
sizeofarray = malloc( numbofinput * sizeof(int));
if ( sizeofarray == NULL)
{
exit(0);
}
for (i = 0 ; i < numbofinput ; i++)
{
printf("Enter the number n: %d : \n", i + 1);
scanf("%d", &sizeofarray[i]);
}
printf("\n\n This is the list of your inputs :\n");
for (i = 0 ; i < numbofinput ; i++)
{
printf("%d\n", sizeofarray[i]);
}
for ( i = 0; i < numbofinput ; i++)
{
sum = sum + sizeofarray[i];
}
printf("\n This is the sum of your inputs :\n");
printf("Sum=%d\n", sum);
free(sizeofarray);
}
return 0;