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 :

Fréquence (Nombre d'occurences)


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 3
    Par défaut Fréquence (Nombre d'occurences)
    Bonsoir,
    voici mon énoncé :
    Nom : Capture du 2014-12-13 20:28:34.png
Affichages : 173
Taille : 17,6 Ko

    Voici mon programme:
    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
    #include <stdio.h>
    #define MAX 10
     
    int main()
    {
    int i;
    float reel[MAX];
    float compteur[MAX]={0};
     
     
    for(i=0; i<MAX; i++) {
      printf("entrer un reel:");
      scanf("%f", &reel[i]); 
                               }
     
    for(i=0; i<MAX; i++)
    { 
      if(reel[0]==reel[i])
      compteur[0]++;
      else if(reel[1]==reel[i])
      compteur[1]++;
      else if(reel[2]==reel[i])
      compteur[2]++; 
      else if(reel[3]==reel[i])
      compteur[3]++;
      else if(reel[4]==reel[i])
      compteur[4]++;
      else if(reel[5]==reel[i])
      compteur[5]++;   
      else if(reel[6]==reel[i])
      compteur[6]++; 
      else if(reel[7]==reel[i])
      compteur[7]++; 
      else if(reel[8]==reel[i])
      compteur[8]++; 
      else if(reel[9]==reel[i])
      compteur[9]++; 
    }
     for(i=0;i<MAX;i++) 
    printf("Le nombre %.0f apparait %.0f fois \n",reel[i],compteur[i]);
     
    }
    Et voici ce qu'il affiche :
    Nom : Capture du 2014-12-14 01:03:03.png
Affichages : 157
Taille : 9,1 Ko

    Comment faire pour que le programme n'affiche pas 2fois le même réel ?

    Merci

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 309
    Billets dans le blog
    5
    Par défaut
    Bonjour.

    Tu peux déjà interdire lors, de la saisie, la redondance des nombres saisies.

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 3
    Par défaut
    Je ne comprends pas

  4. #4
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 309
    Billets dans le blog
    5
    Par défaut
    Au temps pour moi. Tu as raison de ne pas comprendre ma réponse. Elle est totalement à côté de la plaque .

    Un autre idée alors : mémoriser les nombres que tu testes. À chaque test d'un nouveau, tu vérifies si tu ne l'as pas déjà évalué.

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 3
    Par défaut
    Comment dois-je les mémoriser ? avec des variables tampon ?

  6. #6
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    On peut suivre, par exemple, l'algo suivant :

    Soit nElem le nombre d'éléments placés dans le tableau reel.
    - Initialiser nElem à 0
    - Initialiser le tableau compteur[] à 0
    - Faire MAX fois :
       - Lire une valeur val
       - Regarder si val a déjà été entré :
         Si val est égal à reel[i] pour  0 <=  i <= nElem-1 :
               - incrémenter compteur[i]
         Sinon :
               - placer val dans reel[nElem],
               - incrémenter compteur[nElem], 
               - incrémenter nElem
    - Afficher pour i = 0..nElem-1 reel[i] et compteur[i]

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    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 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Makunuchi Voir le message
    Comment dois-je les mémoriser ? avec des variables tampon ?
    Bonjour

    C'est un petit peu le but des variables que de servir à mémoriser ce dont on a besoin. Et puis ton truc avec ton compteur[0], compteur[1], compteur[2] etc c'est un peu à la ramasse. Tu ne sais donc pas utiliser les boucles ???

    Ceci dit c'est un petit peu complexe parce que l'on parle de "réels" (j'avais au départ rapidement lu et compris "entier"). Donc les réels c'est galère car "0.1" et "0.01" ce sont deux réels différents

    Si moi je devrais écrire ce code, je déclarerais une structure contenant
    • le réel
    • son nombre d'occurences


    Puis je définirais un tableau de 10 "structures de ce type". Ensuite pour chaque réel saisi, suffirait de regarder s'il est dans le tableau et si c'est le cas, incrémenter son nombre d'occurences sinon l'y rajouter. C'est un peu ce que diogene a fait sauf que lui il gère deux tableaux parallèles alors que moi je gère un tableau dont chaque élément contient deux items...
    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]

Discussions similaires

  1. [Schema] Ajouter un nombre d'occurence
    Par GLDavid dans le forum Valider
    Réponses: 2
    Dernier message: 28/11/2005, 13h36
  2. Réponses: 28
    Dernier message: 22/09/2005, 11h57
  3. Nombre d'occurence d'un motif par ligne
    Par anne-so dans le forum Langage
    Réponses: 8
    Dernier message: 22/08/2005, 19h36
  4. Réponses: 8
    Dernier message: 18/01/2005, 10h58
  5. recherche du nombre d'occurences dans une table
    Par berry dans le forum Requêtes
    Réponses: 3
    Dernier message: 09/01/2004, 20h03

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