Fonction MaximumTableau --> mettre à 0 les cases sup. au max.

Fermé
antho636 - Modifié par Whismeril le 13/12/2014 à 08:29
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 13 déc. 2014 à 14:45
Bonjour à toutes et à tous,

Voilà je vous expose mon problème.

J'ai un exercice à faire ou je dois prof. un tableau avec plusieurs valeurs qui doivent être compris entre 0 et 20. Toute valeurs dépassant 20 doivent être mis à 0 ...

Exemple :

int main(int argc, const char * argv[])

{
    int i = 0;
    int long tableau[6];
    
    tableau[0] = 10;
    tableau[1] = 15;
    tableau[2] = 20;
    tableau[3] = 35;
    tableau[4] = 50;
    tableau[5] = 60;
    

    
    int moyenne =0;
    int SommeTotale = 0;
    
    for (i = 0; i < 6; i++)
    {
        printf("Valeur du tableau N° %d = %d\n", i, tableau[i]);
        SommeTotale = SommeTotale + tableau[i];
    }

    moyenne = SommeTotale / 6;
    printf("\nLa somme totale du tableau = %d\nLa moyenne totale du tableau = %d\n\n", SommeTotale, moyenne);
    
    return 0;


Le résultat devra me donner :

Valeur du tableau N° 0 = 10
Valeur du tableau N° 1 = 15
Valeur du tableau N° 2 = 20
Valeur du tableau N° 3 = 0
Valeur du tableau N° 4 = 0
Valeur du tableau N° 5 = 0

Merci d'avance.

EDIT: Ajout de la coloration syntaxique.

A voir également:

2 réponses

Whismeril Messages postés 19024 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 18 avril 2024 928
13 déc. 2014 à 08:34
Bonjour,

Soit tu fais une boucle avant celle qui affiche les résultats dans laquelle tu testes chaque valeur et la corrige si nécessaire.
Ou bien pour optimiser un peu tu testes les valeurs dans la boucle d'affichage, au début.

Pour tester je te conseille d'utiliser un if
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
13 déc. 2014 à 14:45
Bonjour,

Il te suffit de faire une boucle for comme dit par Whismeril pour redéfinir les cases du tableau supérieur à 20. En même temps, la boucle for te permettra de proposer à l'utilisateur de rentrer ses notes lors de l'exécution (scanf()). Cela aura plus d'intérêt que de mettre en dur les notes dans le programme.

Sinon quelques remarques sur ton code :

int long tableau[6];
Pourquoi utiliser un long ? Autant utiliser un int. Si tu souhaites vraiment utiliser long, alors il faut être cohérent et mettre %ld (L minuscule) dans les printf() au lieu de "%d", ainsi que mettre sommeTotale en long puisque somme de "long"...

int moyenne =0;
int SommeTotale = 0;

Il faut déclarer les variables en début de bloc.

moyenne = SommeTotale / 6;
Ca ne serait pas mieux d'avoir une moyenne à virgule plutôt qu'entière ? Car là tu vas arrondir par défaut...

Cdlt,
0