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 un peu difficile pour moi


Sujet :

C

  1. #21
    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
    Citation Envoyé par sound-concept Voir le message
    Presque EPITECH. lol tu connais ça ou quoi?
    EPITA et EPITECH, les deux écoles soeurs, sont connues pour interdires à leurs élèves beaucoup d'éléments standard, notamment les fonctions standard d'entrées-sorties, considérées comme de "trop haut niveau".
    Donc, quand j'ai vu ta fonction qui utilise write (fonction de sortie de bas-niveau ne faisant pas partie du standard C†), je me suis douté...

    Mais faisant partie du standard POSIX
    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.

  2. #22
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    EPITA et EPITECH, les deux écoles soeurs, sont connues pour interdires à leurs élèves beaucoup d'éléments standard, notamment les fonctions standard d'entrées-sorties, considérées comme de "trop haut niveau".
    Donc, quand j'ai vu ta fonction qui utilise write (fonction de sortie de bas-niveau ne faisant pas partie du standard C†), je me suis douté...

    Mais faisant partie du standard POSIX
    Il ne reste donc plus qu'à implanter un équivalent (simplifié) de printf() à base d'appel à write() afin de convertir les entiers en chaine de caractère. La fonction my_putchar() proposée par le PO ne fait pas le job.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  3. #23
    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
    En effet.
    Je pencherais pour une fonction PutInteger(int desc, int val, int minDigits) pour écrire l'entier sur le descripteur de sortie...

    On l'appelerait ainsi: PutInteger(STDOUT_FILENO, i, 2);
    On peut aussi supprimer le premier paramètre et supposer que c'est toujours la sortie standard (STDOUT_FILENO, qui équivaut à 1 sous POSIX)...

    Note pour sound-concept: Tu devrais remplacer tes 1 dans les appels à write() par STDOUT_FILENO...
    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.

  4. #24
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Par défaut
    Oula!! Trop compliqué pour moi ça messieurs... Je ne comprend plus un mot de ce que vous me dite à partir du remplacement du printf...
    Désolé

  5. #25
    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
    OK, on va procéder par étapes.
    1) Tu sais que le premier paramètre de write() est un descripteur de fichier, non ?
    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.

  6. #26
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 966
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 966
    Par défaut
    Lio,
    Citation Envoyé par sidahmed Voir le message
    Bonjour,

    le code suivant permet l'affichage de 00 00, 00 01, ..., 99 98, 99 99 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (i = 0; i < 10; i++)
      for (j = 0; j < 10; j++)
        for (k = 0; k < 10; k++)
          for (l = 0; l < 10; l++)
            printf("%d%d %d%d\n", i, j, k, l);
    PS : j'ai pas testé ce bout de code.

    Bon courage.
    L'art de faire compliqué quand on peut faire simple.

    Pourquoi ce besoin de 4 boucles ?

    Si on demandait d'afficher

    000000 000000
    000000 000001
    000000 000002
    ...
    999999 999999

    tu ferais 12 boucles ?

Discussions similaires

  1. Requete concernant des dates un peu complexe (pour moi)
    Par fayred dans le forum Requêtes
    Réponses: 6
    Dernier message: 22/02/2008, 08h26
  2. Un select un peu difficile pour un débutant
    Par mitchb dans le forum Débuter
    Réponses: 1
    Dernier message: 27/03/2007, 22h35
  3. Gérer un Formulaire un peu complexe pour moi
    Par budylove dans le forum Langage
    Réponses: 3
    Dernier message: 17/05/2006, 10h01
  4. Requete un peu compliqué pour moi
    Par passie dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/04/2006, 15h08
  5. [SQL - ORACLE] Requete un peu compliquée (pour moi)
    Par Worldofdada dans le forum Langage SQL
    Réponses: 15
    Dernier message: 03/11/2005, 08h25

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