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 :

Problème de clarté sur un énoncé de programme à faire


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 5
    Par défaut Problème de clarté sur un énoncé de programme à faire
    Bonsoir à tous,
    C'est bien la 1ère fois que j'ai un problème de compréhension d'un énoncé d'exercice que je dois résoudre pour la semaine prochaine. Je n'arrive pas à comprendre ce que l'on veut dire avec les caractères < , > , ainsi que la paire <>. Cela m'embrouille beaucoup et je n'arrive donc pas à faire l'exercice qui me parait néanmoins très facile à réaliser (à condition de bien comprendre l'énoncé).

    Voici l'énoncé :
    Ecrivez en langage C un programme complet, en un seul fichier source, qui effectue notamment les tâches suivantes :
    Copie d'1 fichier de type .TXT de taille quelconque tout en effectuant le comptage et le remplacement d'1 chaîne donnée.
    Saisie de la chaîne à remplacer tapée au clavier par l'utilisateur, à sa guise (pas de menu!) sous l'une des 2 formes suivantes :
    >Chaîne Recherchée< La chaîne recherchée est : Chaîne Recherchée
    >Cha<>chée< La chaîne recherchée commence par : Cha et se termine par : chée
    L'encodage de la chaîne de remplacement doit s'effectuer selon la même syntaxe :
    >Nouvelle chaîne< La chaîne de remplacement est : Nouvelle chaîne
    Les chaînes recherchées peuvent contenir des caractères > et <, même la paire <>. Mais dans ce cas, la 1ère occurrence de
    cette paire est considérée comme séparateur de chaîne recherchée et indique qu'il s'agit d'1 recherche de la 2ième forme.
    D'autres occurrences sont alors considérées comme appartenant à la fin de la chaîne recherchée.
    La chaîne de remplacement peut contenir n'importe quel caractère, même des paires <>.
    La chaîne de remplacement peut aussi être vide (chaîne : >< ) et signifie que l'on ne souhaite pas remplacer les chaînes cherchées, mais bien les supprimer.

    Je remercie d'avance tout éclaircissement qui sera apporté à ce petit problème de compréhension.

  2. #2
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 10
    Par défaut
    Je n'arrive pas à comprendre ce que l'on veut dire avec les caractères < , > , ainsi que la paire <>.
    Ces caractères sont au final juste des balises que l'utilisateur rentre pour communiquer au programme ce qu'il désire rechercher et modifier.
    Ton boulot est de faire en sorte que le programme interprète ces balises correctement suivant la spécification:
    Saisie de la chaîne à remplacer tapée au clavier par l'utilisateur, à sa guise (pas de menu!) sous l'une des 2 formes suivantes :
    >Chaîne Recherchée< La chaîne recherchée est : Chaîne Recherchée
    >Cha<>chée< La chaîne recherchée commence par : Cha et se termine par : chée
    L'encodage de la chaîne de remplacement doit s'effectuer selon la même syntaxe :
    >Nouvelle chaîne< La chaîne de remplacement est : Nouvelle chaîne
    soit un fichier txt qui contient:
    je souhaite devenir programmeur.
    si l'utilisateur entre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >pro<>rammeur<
    >millionnaire<
    le fichier copié devra contenir:
    je souhaite devenir millionnaire.
    ..éclaircit?

  3. #3
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 635
    Par défaut
    Salut,

    Ou, si tu préfère en plus explicite, les balises introduites par l'utilisateur
    • > représente le début de la chaine
    • < représente la fin de la chaine
    • <> représente une partie indéfinie de la chaine (la fin de la première partie, n'importe quoi, et le début d'une deuxième partie)
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 5
    Par défaut Clarté dans un énoncé
    Bonsoir,
    Je tiens tout d'abord à remercier les personnes qui ont apporté leur aide à mon problème.
    Oui, c'est ce que j'avais compris à la 1ère lecture, mais je ne voyais absolument pas (et encore maintenant) la nécessité du caractère début chaîne '>' et le caractère fin de chaîne '<' car ils ne sont pas du tout nécessaires. Bien au contraire c'est compliquer les choses car je présume que le programmeur devra vérifier que ces caractères sont bien présents dans la saisie de chaîne introduite par l'utilisateur ! Enfin bref...
    ...La chaîne '<>' a maintenant plus de sens pour moi.
    Néanmoins l'utilisateur devra faire très attention et notamment à l'exemple suivant :

    fichier.txt : "Il faut que le Compteur A <> Compteur B mais aussi le Compteur C < Compteur D pour que..."
    La chaîne recherchée commence par : "Compteur A <> Compteur B"
    La chaîne recherchée se termine par : "Compteur C < Compteur D"
    Pas de chaîne à remplacer : ""

    La mauvaise saisie clavier sera donc : >Compteur A <> Compteur B<>Compteur C < Compteur D<
    Résultat : recherche infructueuse !
    Et la bonne saisie clavier devra se faire en 2 étapes :
    >Compteur A <><> Compteur B<
    >Compteur C < Compteur D<
    Je suppose que tout le monde sera d'accord avec mon raisonnement ?

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par lebokto
    Je remercie d'avance tout éclaircissement qui sera apporté à ce petit problème de compréhension.
    Bah, c'est un bête interpréteur de commande. Tu n'as pas eu récemment un cours sur les langages interprétés, les analyseurs de syntaxe et autres automates ?

Discussions similaires

  1. Problème entrée standard sur un programme
    Par Sharpounet dans le forum Débuter
    Réponses: 4
    Dernier message: 06/07/2009, 11h16
  2. Problème de résultat sur un programme en Pascal
    Par Poseidon62 dans le forum Langage
    Réponses: 1
    Dernier message: 28/03/2009, 20h13
  3. problèmes de droits sur programmes d'installation
    Par danielfr40 dans le forum Windows Vista
    Réponses: 1
    Dernier message: 25/09/2008, 21h54
  4. Problème de pile sur un programme.
    Par Dam63 dans le forum C
    Réponses: 11
    Dernier message: 29/10/2007, 13h46
  5. [CR] Problème de sélection sur un champ date
    Par noluc dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 21/11/2003, 16h56

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