Additionner des valeur d'un tableau en une variable (en C)
Résolu
lucario200298
Messages postés
56
Date d'inscription
Statut
Membre
Dernière intervention
-
lucario200298 Messages postés 56 Date d'inscription Statut Membre Dernière intervention -
lucario200298 Messages postés 56 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'essaye d'apprendre à programmer en C, et j'essaye de m'entrainer d'après ce que je connais, mais je n'arrive pas à stocker dans une variable l'addition des valeurs comprise dans un tableau. J'ai un nombre quatre chiffres (ex : 1234) et je veux additionner chaque chiffre de nombre pour obtenir un autre nombre (1 + 2 + 3 + 4 = 10)
Je vais vous montrer ce que j'ai essayé de faire :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int tableau[10];
int somme = 0;
printf("Entrez un nombre a quatre chiffre\n");
scanf("%d", tableau);
somme = tableau[0] + tableau[1] + tableau[2] + tableau[3];
printf("%d\n", somme);
system("pause");
}
Résultat quand j'entre 1234, le programme ne me renvoi pas 10 mais 1717988150. J'ai essayer plusieurs autres moyens en vain.
Je voudrais donc que si je rentre 1234, le programme renvoi 10 ou par exemple 2345, il me renvoi 14,
Merci de proposer vos solutions ou vos piste s'il vous plait.
Je vais vous montrer ce que j'ai essayé de faire :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int tableau[10];
int somme = 0;
printf("Entrez un nombre a quatre chiffre\n");
scanf("%d", tableau);
somme = tableau[0] + tableau[1] + tableau[2] + tableau[3];
printf("%d\n", somme);
system("pause");
}
Résultat quand j'entre 1234, le programme ne me renvoi pas 10 mais 1717988150. J'ai essayer plusieurs autres moyens en vain.
Je voudrais donc que si je rentre 1234, le programme renvoi 10 ou par exemple 2345, il me renvoi 14,
Merci de proposer vos solutions ou vos piste s'il vous plait.
A voir également:
- Additionner des valeur d'un tableau en une variable (en C)
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
2 réponses
Bonsoir,
Il faut réfléchir ! C'est la meilleure façon d'apprendre :) Il est stocké où ton nombre à 4 chiffres ?
Regarde bien ce programme, si l'utilisateur entre le nombre 26 il affichera 26.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int toto = 0;
printf("Entrez un nombre: \n");
scanf("%d", &toto);
printf("%d\n", toto);
system("pause");
}
Un string dans l'array.
Il faut réfléchir ! C'est la meilleure façon d'apprendre :) Il est stocké où ton nombre à 4 chiffres ?
Regarde bien ce programme, si l'utilisateur entre le nombre 26 il affichera 26.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int toto = 0;
printf("Entrez un nombre: \n");
scanf("%d", &toto);
printf("%d\n", toto);
system("pause");
}
Un string dans l'array.
Bonjour,
Vu ton programme, je pense que tu as mal compris le fonctionnement du tableau.
scanf("%d", tableau); => signifie scanf("%d",&tableau[0]);
Autrement dit, si tu tapes 1234, tableau[0] vaudra 1234. Il n'y aura pas de "découpage". Ou alors, il faut le programmer.
Cdlt,
Vu ton programme, je pense que tu as mal compris le fonctionnement du tableau.
scanf("%d", tableau); => signifie scanf("%d",&tableau[0]);
Autrement dit, si tu tapes 1234, tableau[0] vaudra 1234. Il n'y aura pas de "découpage". Ou alors, il faut le programmer.
Cdlt,
Deux façons :
1/ Plutôt que récupérer un tableau d'entier, tu récupères un tableau de caractères. Ainsi tu auras tableau[0]='1', tableau[1]='2', tableau[2]='3', tableau[3]='4'.
La somme des nombres donnera : somme = (tableau[0]-'0') + (tableau[1]-'0') + (tableau[2]-'0')+(tableau[3]-'0'); C'est facile à généraliser dans une boucle for.
2/Arithmétique avec les modulos et divisions
1234%10 = 4
1234/10=123, 123%10=3
123/10=12, 12%10=2
12/10=1, 1%10=1
Facile à implémenter avec une boucle for également.
Cdlt,
1/ Plutôt que récupérer un tableau d'entier, tu récupères un tableau de caractères. Ainsi tu auras tableau[0]='1', tableau[1]='2', tableau[2]='3', tableau[3]='4'.
La somme des nombres donnera : somme = (tableau[0]-'0') + (tableau[1]-'0') + (tableau[2]-'0')+(tableau[3]-'0'); C'est facile à généraliser dans une boucle for.
2/Arithmétique avec les modulos et divisions
1234%10 = 4
1234/10=123, 123%10=3
123/10=12, 12%10=2
12/10=1, 1%10=1
Facile à implémenter avec une boucle for également.
Cdlt,