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 :

Programmation en langage C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Par défaut Programmation en langage C
    Bonjour tout le monde , j'ai un petit exercice , le but est d'écrire un programme en langage C qui accepte 3 listes de valeurs et affiche pour chaque liste de valeurs : la valeur minimale , la valeur maximale , la moyenne des valeurs , la variance , le nombre des valeurs inferieurs à la moyenne , le nombre des valeurs superieurs à la moyenne , j'ai essayé de faire ce travail , il compile mais il ne donne pas des resultats correctes , aidez moi svp
    je cherche aussi comment faire l'intersection et l'union de ces 3 listes de valeurs
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés
    • Type de fichier : c TP2.c (1,5 Ko, 77 affichages)

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Attention, tu traites mal le retour de scanf().
    Aussi, il m'a l'air vachement compacté au détriment de la lisibilité, ce code. Epita/Epitech? ah non, ils ne te laisseraient pas utiliser scanf()
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre chevronné
    Homme Profil pro
    très occupé
    Inscrit en
    Juillet 2014
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : très occupé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 137
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    int min(int t[],int n)
      { int m,i;
        for (m=t[0],i=1;i<n;i++)
        { if (t[i]<m)
            m=t[i];
        return(m);
        }
      }
    ton return est mal placé, car il devrait être en dehors de la boucle for, et avant la fin de la fonction, sinon, ta fonction termine de s'exécuter et retourne à la fonction appelante dès la première itération de la boucle for.

    comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int min(int t[],int n)
    {
        int m,i;
        for (m=t[0],i=1;i<n;i++) {
            if (t[i]<m)
                m=t[i];
        }
        return m;
    }
    tu fais la même erreur pour max(), nbre_inf_ala_moy() et nbre_sup_ala_moy()

    Dans main, tu dois aussi conserver le résultat de la fonction moyenne() dans la variable m, qui est ensuite utilisée en paramètres des autres fonctions, sinon elle ne contiendra pas le résultat attendu (et contiendra une valeur imprévisible car elle n'est pas initialisée).

    Sinon, ton prototype de main est non standard et ton code mal indenté, et je partage l'opinion de Médinoc sur le fait qu'il est un peu trop compact à mon goût.

    Enfin, quand tu postes sur le forum, il est mieux que tu utilises la balise code pour copier-coller le code dans ton message (bouton # de la fenêtre d'édition), cela permet aux membres du forum de voir directement ton code et de savoir de quoi on parle.

  4. #4
    Membre à l'essai
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Par défaut
    Merci à vous pour l'aide , mais il reste comment afficher l'intersection et l'union de ces 3 listes de valeurs , franchement je n'ai aucune idée

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 151
    Billets dans le blog
    4
    Par défaut
    Sais-tu ce qu'est une intersection ? Une union ?
    Suffit de créer la liste d'intersection et la liste d'union à partir des listes qui t'intéressent.
    En ajoutant une fonction pour vérifier qu'une valeur est présente dans une liste ce devrait être assez trivial.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  6. #6
    Membre à l'essai
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Juillet 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2017
    Messages : 5
    Par défaut
    l'union des 3 listes : les valeurs des 3 listes
    l'intersection des 3 listes : les valeurs en communs des 3 listes
    est ce que vous pouvez m'aider un peu plus ?

    j'ai essayé mais je ne sais pas quels sont mes fautes
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    #include <stdio.h>
     
    int lire_une_liste_de_valeurs(int t[])
      { int i;
        for (i=0;lire_une_valeur(&t[i]);i++)
          ;
        return (i);
      }
     
    int lire_une_valeur(int *v)
      { scanf("%d",v);
        return(*v!=-1);
      }
     
    int min(int t[],int n)
      { int m,i;
        for (m=t[0],i=1;i<n;i++)
        { if (m>t[i])
            m=t[i];
        }
        return(m);
     
      }
     
    int max(int t[],int n)
      { int m,i;
        for (m=t[0],i=1;i<n;i++)
        { if (m<t[i])
            m=t[i];
        }
        return(m);
     
      }
     
     
     
    float moyenne(int t[],int n)
      { int i ; float s ;
        for (s=0. , i=0 ; i<n ; i++)
         s+=t[i];
        return (s/n);
      }
     
    float variance (int t[] , int n , float m)
      { int s,i;
        for (s=0 , i=0; i<n ; i++)
         s+=(t[i]-m)*(t[i]-m);
        return (s/n);
      }
     
    int nbre_inf_ala_moy (int t[],int n ,float m)
      { int i,c=0;
        for (i=0;i<n;i++)
        { if (t[i]<m)
            c++;
        }
        return(c);
     
      }
     
    int nbre_sup_ala_moy (int t[],int n ,float m)
      { int i,c=0;
        for (i=0;i<n;i++)
        { if (t[i]>m)
            c++;
        }
        return(c);
      }
    int intersection(int t1[],int t2[],int t3[],int t4[] ,int n)
      { int i , j , s , f ;
        for (i=0 ; i<n ; i++)
          {f=t1[i];
           for (j=0 ; j<n ; j++)
             {for (s=0 ; s<n ; s++)
                {if (f==t2[j] && f==t3[s])
                  t4[i]=f;
     
                }
             }
     
          }
        return t4;
      }
     
     
    void main()
    { int t[1000], t1[1000] ,t2[1000],t3[1000],t4[1000] , n , s;
      float m ;
      for ( s =0 ; s<3 ; s++ )
      { n = lire_une_liste_de_valeurs(t);
        printf("le minimum des valeurs est %d \n", min(t,n));
        printf("le maximum des valeurs est %d \n" , max(t,n));
        m=moyenne(t,n);
        printf("la moyenne des valeurs est %10.2f \n", moyenne(t,n));
        printf("la variance est %10.2f \n",variance(t,n,m));
        printf("Le nombre de valeurs inferieurs à la moyenne est %d \n",nbre_inf_ala_moy(t,n,m));
        printf("le nombre de valeurs superieurs à la moyenne est %d \n",nbre_sup_ala_moy(t,n,m));
      }
      printf("l'intersection des listes de valeurs est %d ",intersection(t1,t2,t3,t4,n));
     
     
     
    }

Discussions similaires

  1. probleme sur un programme en langage c
    Par haddad dans le forum Débuter
    Réponses: 24
    Dernier message: 17/12/2007, 08h36
  2. programmation delphi langage pascal:lien de parenté
    Par christt6789 dans le forum Delphi
    Réponses: 2
    Dernier message: 23/05/2007, 15h48
  3. Réponses: 13
    Dernier message: 02/01/2006, 11h08
  4. programme en langage c
    Par nivine dans le forum C
    Réponses: 18
    Dernier message: 08/10/2005, 10h34
  5. Programme en langage c et asm pour PowerPC
    Par punkybreizh dans le forum Autres architectures
    Réponses: 4
    Dernier message: 07/04/2005, 13h58

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