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 :

Exercice en C


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Exercice en C
    Bonjours mes chers amies, j'ai un exercice en langage C et j'ai beau essayé mais je ne trouve pas la solution. je demande votre soutien.

    voici le sujet

    On se propose de construire un histogramme décrivant la répartition des valeurs des
    éléments d’un vecteur tel que celui-ci :
    { 2, 3, 7, 6, 9,11,12,15,18,17, 14,13,12, 7, 8, 7, 5, 3, 2, 1, 1, 0, 2, 8,11,13,12,11, 6, 3};
    Le programme affichera l’histogramme dans la fenêtre du terminal, en utilisant des blancs
    et des étoiles, comme dans l’exemple de la figure.
    1. Écrire une fonction dont le prototype est : void histog(int v[], int nb)
    2. Modifier le programme afin de pouvoir choisir la hauteur de l’histogramme. Le
    prototype devient : void histog(int v[], int nb, int H).
                                                                        *
                                               *****              ***               
                                             *******            ****
                                           *********         ******
                                         ***********       *******
                                       ************     **********
                                       ************   *************
                                       ************  **************

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Et qu'as-tu essayé?

    Nous pouvons t'aider à comprendre, pas te donner une solution. (c'est dans la charte)

    D'un point de vue logique, il faut constituer l'histogramme, puis l'afficher.
    Comment définis-tu un histogramme?
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut exercice c
    Bonjour, je suis conscient de la charte mais je veux juste un début d'exercice.

  4. #4
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    C'est bien de vouloir.

    Programmer, c'est définir une solution à un problème.
    Programmer en C, c'est définir une solution, puis la dire en C à un ordinateur qui fera exactement ce que tu lui demandes.

    Il n'y a qu'une seule chose réellement importante en programmation.
    La solution s'applique aussi à un humain, avec autant de papier de crayon qu'il veut.

    Pour y arriver, il faut donc décrire le problème en des termes simples et précis, quitte à écrire des définitions (qui deviendront autant de typedef...)
    Puis décrire l'aspect de la solution, la encore, en termes simples et précis...
    Vient ensuite la description des opérations transformant les données en solution.

    J'imagine que tu sais ce qu'est un ensemble de valeur, surtout qu'on te donne un exemple, et même les types à utiliser (int valeurs[] et int taille).
    J'en déduis que si tu es coincé, c'est soit que tu ne sais pas coder, soit que tu n'as pas formulé la réponse à donner.
    A priori, tu sais coder, donc je te posais la question clé de ta solution.

    qu'est-ce qu'un histogramme?
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut exercice c
    En faite, c'est une représentation statistique des données. je suis un statisticien de formation et j'ai commencé l'informatique cette année. Donc je sais ce qui un histogramme.

    merci!

  6. #6
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    C'est à dire?

    L'ordinateur lui ne le sait pas.
    Il ne connait ni représentation, ni statistique, ni données (en tant que nom).

    La preuve, tu ne sais pas comment lui dire.
    Il faut que tu trouves des mots pour lui expliquer.
    Car il ne connait que tableau, entier, nombre, taille, fonction.

    C'est précisément pour cela que tu déclareras des variables et des fonctions dans le code.
    int a, b; se lit "soient a et b des entiers"

    Comment décrirais-tu un histogramme à un enfant en 6° (ou une grand-mère, un nénuphar ou un canard, c'est de toute façon plus compréhensif qu'un ordinateur )
    Il faut bien voir que si tu n'arrives pas à le coder, c'est que ce n'est pas clair dans ta tête.

    Ce que j'en dirai, moi: (ne regarde pas avant d'avoir réfléchi)
    Un histogramme est une vue d'un ensemble de donnée qui associe à chaque valeur le nombre de fois où elle est présente.
    C'est donc une fonction de l'espace des valeurs vers l'espace des entiers.

    Il existe des histogrammes en fréquence qui associe non pas le nombre de présence, mais la fréquence relative. (En pourcentage, par exemple)
    Quand on présente des résultats d'élections, on voit en général ce type d'histogramme, parce que justement il est limité en taille.

    C'est déjà bien, mais que signifient association et chaque valeur?
    Il y a plusieurs facon de transcrire cela.
    • En mettant l'accent sur l'association, c'est un ensemble de paires {valeur, quantité} ou {valeur, fréquence}.
    • En mettant l'accent sur la fonction, tu peux utiliser la discrétisation de la fonction.


    La première forme est plus simple, et tu peux opter pour un tableau, une liste chainée etc.
    La seconde requiert la cohérence entre deux tableaux ou listes (les valeurs dans le premier, les fréquences dans le second).
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  7. #7
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    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 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par SENE88 Voir le message
    On se propose de construire un histogramme décrivant la répartition des valeurs des
    éléments d’un vecteur tel que celui-ci :
    { 2, 3, 7, 6, 9,11,12,15,18,17, 14,13,12, 7, 8, 7, 5, 3, 2, 1, 1, 0, 2, 8,11,13,12,11, 6, 3};
    Le programme affichera l’histogramme dans la fenêtre du terminal, en utilisant des blancs
    et des étoiles, comme dans l’exemple de la figure.
                                                                        *
                                               *****              ***               
                                             *******            ****
                                           *********         ******
                                         ***********       *******
                                       ************     **********
                                       ************   *************
                                       ************  **************
    Bonjour

    Moi, ce que je n'arrive pas à comprendre, c'est le lien entre les valeurs données et le graphe de l'exemple. Parce que dans les valeurs ça commence par 2, 3, 7, 6 mais nulle part dans le graphe je vois deux étoiles suivies de 3 étoiles puis de 7 puis de 6. Si on regarde de haut en bas il y a une étoile puis 5 puis 3, et si on regarde de la gauche vers la droite il y a 3 étoiles puis 4 puis 5...
    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. [VB6] Exercice de Combinatoire
    Par fichtre! dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 19/01/2005, 14h27
  2. Un cours de C/C++ avec exercices corrigés
    Par merrheim dans le forum C++
    Réponses: 65
    Dernier message: 18/01/2005, 22h30
  3. Demande de corrections d'exercices Turbo Pascal
    Par Helpine dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 16/01/2005, 10h38
  4. Pages d'exercices à faire pour l'autoformation ?
    Par [thebadskull] dans le forum Evolutions du club
    Réponses: 13
    Dernier message: 15/06/2004, 20h26
  5. Pouvez vous m'aider a resoudres ces 3 exercices
    Par algorithmique dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 09/08/2002, 17h26

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