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 :

Doublons dans une table


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Doublons dans une table
    Bonsoir,

    Je souhaiterai que quelqu'un m'aide pour résoudre deux difficultés liées au problème ci-dessous.

    - Definir la fonction qui me permettrai d'afficher le nombre de doublons
    - Définir une fonction qui me permettrait d'afficher les doublons une seule fois.

    Merci d'avance


    A Partir de la Table suivante:

    12,52,32, 56,89,1,12,85,9,15,63,48,32,12,85,65,52,87,90,20.
    Faire une application qui va afficher un menu avec comme choix:
    1- Affichage de la Moyenne;
    2-Affichage de la Somme;
    3- Affichage du plus petit nombre et sa position;
    4- Affichage du plus grand nombre et sa position
    5- Affichage du Nombre de Doublons;
    6- Affichage des doublons une seule fois.
    Tous les éléments du menu font appel à une seule fonction.


    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
    #include "stdio.h"
    #include "stdlib.h" 
    float moyenne(short int *t, short int taille);
    short int somme(short int *t,short int taille);
    void plusPetit (short int *t, short int taille);
    void plusGrand (short int *t, short int taille);
     
     
    main()
    { int i=1;
         short int taille=20;         
         short int t[20]={12,52,32,56,89,1,12,85,9,15,63,48,32,12,85,65,52,87,90,20};    
     
     
     while (i!=7){
         printf("\n1. Affichage de la moyenne");  
         printf("\n2. Affichage de la somme");
         printf("\n3. Affichage du plus petit nombre et de sa position");
         printf("\n4. Affichage du plus grand nombre et de sa position");
          printf("\n5. Affichage du  nombre de doublons");
         printf("\n6. Affichage de doublons une seule fois");
         printf("\n7. Quitter");
         printf("\n");     
         scanf("%d",&i);
          getc(stdin);
     
         switch(i)
         {
                  case 1 : {printf("\nMoyenne = %3.3f",moyenne(t,taille)); break;}
                  case 2 : {printf("\nSomme = %d",somme(t,taille)); break;};
                  case 3:  {plusPetit(t, taille); break;}
                  case 5:  {NBdoublons(t,taille); break;}
                  case 5:  {doublons(t,taille); break;}
                  case 7 : { getc(stdin); exit(1); break;}
                  default:;
     
                  }
         getc(stdin);
     }  
         return 0;        
         }
     
    short int somme(short int *t, short int taille)
          {int i;
          short int s=0;
          for(i=0;i<taille;i++) s+=t[i];
          return(s);        
              }
     float moyenne(short int *t,short int taille)
          {  return((float)somme(t,taille)/(float)taille); } 
    void plusPetit (short int*t, short int taille)
          {
           int i, pos=0, plusPetit=999;
           for(i=0; i<taille; i++)
              {
               if(t[i]<plusPetit)
                 {
                  plusPetit=t[i];
                pos=i;
                 }
             }
        printf("Le plus petit = %d et a la position: %d", plusPetit, pos+1);
           }
    void plusGrand (short int*t, short int taille)
          {
           int i, pos=0, plusGrand=-999;
           for(i=0; i<taille; i++)
              {
               if(t[i]>plusGrand)
                 {
                  plusGrand=t[i];
                pos=i;
                 }
             }
        printf("Le plus Grand nombre = %d et a la position: %d", plusGrand, pos+1);
           }
     
     
       }

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 986
    Points
    30 986
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par akonoly Voir le message
    Bonsoir,

    Je souhaiterai que quelqu'un m'aide pour résoudre deux difficultés liées au problème ci-dessous.

    - Definir la fonction qui me permettrai d'afficher le nombre de doublons
    - Définir une fonction qui me permettrait d'afficher les doublons une seule fois.

    Merci d'avance
    Salut
    Bon déjà tu évites les MP pour nous poser ton pb car ça énerve plus qu'autre chose. Soit les bénévoles viendront répondre, soit ils n'ont pas envie mais ce n'est pas avec des MP que tu les motiveras plus (question subsidiaire: combien de pros de cette section ont-ils reçu ce topic en MP ???)

    Autre chose:

    Dernière chose: tu as déjà posé un topic approchant ce sujet ; on était plusieurs à avoir répondus et je ne le retrouve plus. Si tu l'as supprimé c'est super égoïste, super mesquin et super con et ça ne donne absolument pas envie de se casser le noeud à t'aider. Surtout que le topic en question avait de bons conseils. Je remarque d'ailleurs que t'as appliqué la méthode que je t'avais indiqué pour trouver le plus petit et que t'as su l'adapter pour trouver le plus grand.

    Donc tu m'excuseras si ma réponse est minime: pour trouver les doublons, tu parcours chaque élément du tableau et pour chaque élément tu parcours une seconde fois ton tableau. Et tu marques quand le nombre trouvé dans la boucle inférieure est identique au nombre de la boucle supérieure.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre éclairé
    Avatar de Kirilenko
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 234
    Points : 807
    Points
    807
    Par défaut
    Et, si ton tableau est d'une taille plus imposante, il peut être utile de trier le tableau avant d'en extraire les doublons (cf. qsort). Mais je confirme que les MP pour des questions techniques, c'est soulant.
    Récursivité en C : épidémie ou hérésie ?

    "Pour être un saint dans l'Église de l'Emacs, il faut vivre une vie pure. Il faut se passer de tout logiciel propriétaire. Heureusement, être célibataire n'est pas obligé. C'est donc bien mieux que les autres églises" - Richard Stallman

Discussions similaires

  1. supprimer les doublons dans une table
    Par mavean dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/06/2019, 13h26
  2. [pl-sql] Recherche de doublons dans une table
    Par tommey dans le forum Oracle
    Réponses: 1
    Dernier message: 08/11/2006, 22h53
  3. Suppression de doublons dans une table partionnée
    Par ludmillaj dans le forum Oracle
    Réponses: 10
    Dernier message: 27/12/2005, 14h34
  4. Eliminer des Doublon dans une Table
    Par Soulama dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 03/02/2005, 14h27
  5. [access]doublons dans une table en access !
    Par hackerandco dans le forum Bases de données
    Réponses: 6
    Dernier message: 14/06/2004, 14h45

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