IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Tableau, note moyenne


Sujet :

C

  1. #21
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 799
    Par défaut
    Citation Envoyé par nibors Voir le message
    Je pense que ton code ne fonctionne pas si la note mini est présente 2 fois dans le tableau
    Tu as raison mais sounsoun n'a pas dit dès le début que c'était un besoin. C'était après dans le fil.

    Par contre sounsoun veut afficher les notes prises en compte, et ça l'algo de fred1599 ne le fait pas

  2. #22
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 652
    Par défaut
    Le fait de supprimer toutes les notes mini est complètement incohérent, si l'élèves à ces notes par exemple : 18, 0, 0, 0, 0

    Alors le mec a 18 de moyenne, il suffit d'avoir bossé une fois et plus rien branler par la suite. Ce n'est plus un exercice concret ! Difficile de savoir si Sounsoun a bien compris son énoncé...

    EDIT: Dans le cas où on reste cohérent dans l'énoncé, voilà les notes prises en compte en ajoutant un tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    #include <stdio.h>
     
    int main(void){
     
        float note;
        float somme=0;
        int n=0, flag=0, i;
        float mini=1000;
        float notes[32];
     
        while (1){
     
            printf("Entrer votre note :");
            scanf("%f", &note);
     
            if (note == -1) break;
     
            if (note < mini) mini = note;
     
            notes[n] = note;
            somme += note;
            n += 1;
        }
     
        for (i=0; i<n; i++){
            note = notes[i];
            if (note == mini && flag == 0) flag = 1;
            else printf("%f ", note);
        }
        putchar('\n');
        printf("La moyenne est de: %f", (somme-mini)/(n-1));
     
        return 0;
    }

  3. #23
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 799
    Par défaut
    à 33, la banque elle saute

  4. #24
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 652
    Par défaut
    à 33, la banque elle saute
    Oui elle est plus grosse, je suis content pour toi, évidemment que selon l'énoncé on adapte, ce n'est qu'un exemple

    EDIT: Pour le plaisir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    #include <stdio.h>
    #include <stdlib.h>
     
    int main(void){
     
        float note;
        float somme=0;
        int n=0, flag=0, i;
        float mini=1000;
        float *notes = malloc(sizeof(float));
        float *p = NULL;
     
        while (1){
     
            printf("Entrer votre note :");
            scanf("%f", &note);
     
            if (note == -1) break;
     
            if (note < mini) mini = note;
     
            notes[n] = note;
            somme += note;
            n += 1;
            p = realloc(notes, sizeof(float) * (n+1));
            if (p != NULL) notes = p;
        }
     
        for (i=0; i<n; i++){
            note = notes[i];
            if (note == mini && flag == 0) flag = 1;
            else printf("%f ", note);
        }
     
        putchar('\n');
        printf("La moyenne est de: %f", (somme-mini)/(n-1));
     
        free(notes);
     
        return 0;
    }

  5. #25
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 799
    Par défaut
    Au lieu de coder comme un goret un while(true), on peut coder autrement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
        float note, somme=0, mini=1000;
        int n=0, i;
        float notes[32];
        unsigned char not_finished = 1;
     
        for (n = 0; ((n < 32) && not_finished); ++n) {
            printf("Entrer votre note :");
            scanf("%f", &note);
     
            if (note != -1) {
                if (note < mini) { mini = note; }
     
                notes[n] = note;
                somme += note;
                n += 1;
            } else {
                not_finished = 0;
            }
        }

  6. #26
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 53
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    Euh j'ai pas compris peut-être, mais normalement il ne retire pas qu'une seule note mini ?
    Citation Envoyé par sounsoun Voir le message
    j'ai tester ton code lorsque j'entre 18 16 9 9 j'obtiens comme moyenne 11.33 je devrais avoir 17
    je dirai que non

  7. #27
    Membre actif Avatar de Abacar94
    Homme Profil pro
    L2 Math-informatique
    Inscrit en
    Novembre 2015
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : L2 Math-informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 103
    Par défaut
    Citation Envoyé par sounsoun Voir le message
    Bonsoir,

    J'ai un programme qui me permet d'entrer des notes et de calculer la moyenne, mais seulement la moyenne est calculer en éliminant la plus mauvaise note.
    Jusqu'ici j'y arrive, mais après avoir créer ma variable me permettant de calculer la moyenne( en enlevant la plus mauvaise note) on me demande d'afficher le tableaux mais sans la mauvaise note.

    Par exemple : T1[TAILLE] = {18,16,9}

    Nouveaux tableaux : T1[TAILLE] = {18,16} moyenne = (18+16)/2

    [/CODE]
    J'ai vu mon erreur je devais initialiser min a une grande valeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    	// note.
     
    	#include <stdio.h>
    	#define TAILLE 10
     
    	int main () {
    	int n,i,j=0;  /* j pour l'indice du min*/
    	float T1[TAILLE],s=0, moy,min=1000;
     
    	do {
    		printf("Nombre de valeur à fournir (2=<n<=10):");
    		scanf("%d", &n);
     
    	} while(n<2 || n>TAILLE);
     
    	printf("\n******************Définition de T1*************");
    	for(i=0; i<n; i++) {
    		printf("\nValeur à mettre dans T1[%d]:", i+1);
    		scanf("%f", (T1+i));
    		s+=*(T1+i);
    		if(min>T1[i])
               min=T1[i];
    		}
     
    	for(i=0; i<n; i++) {
          if(min==T1[i])
             j++;
    	}
     
    	moy = ((s-(j*min))/(n-j));
     
     
    	printf("\nNotes pris en compte dans la moyenne:");
     
    	for(i=0; i<n; i++) {
                   if(T1[i]!=min)
    		        printf("\n%.2f", *(T1+i));
     
    		}
     
    	printf("\nMoyenne = %.2f", moy);
     
    return 0;
    }

Discussions similaires

  1. un programme de calcul d'une note moyenne mais
    Par Dr walid dans le forum Débuter
    Réponses: 2
    Dernier message: 09/10/2009, 22h28
  2. Tableau croisé moyenne/groupement
    Par Mickael747 dans le forum Excel
    Réponses: 1
    Dernier message: 25/06/2008, 08h39
  3. [Tableaux] Trier un tableau par note moyenne
    Par Jiraiya42 dans le forum Langage
    Réponses: 14
    Dernier message: 24/09/2007, 00h55
  4. [Tableaux] Tableau de notes + moyenne
    Par lordbdp dans le forum Langage
    Réponses: 4
    Dernier message: 19/03/2007, 23h34
  5. Tableau et moyenne mobile
    Par mattoo dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 03/05/2005, 17h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo