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

Algorithmes et structures de données Discussion :

Algorithme de génération de carré


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Bahamas

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Par défaut Algorithme de génération de carré
    Bonjour,
    Alors voilà j'ai juste 1h30 de cours d'algorithmes en poche et mon professeur me demande d'afficher un carré d'étoile avec un blanc au milieu. Sans utiliser le C ou autre language que du basique...

    J'ai aucune idée et je suis prêt à apprendre !

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Saint Denis (Île de France)

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

    Informations forums :
    Inscription : Octobre 2015
    Messages : 25
    Par défaut
    Bonjour,

    Voici un algorithme en C++ qui fonctionne :

    Code c++ : 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
     
    #include <iostream>
    #define SIZE 4 //Définir la taille du carré
     
    using namespace std; 
     
    int main() {
      for (int i=0; i<SIZE; ++i) {
        //Dessiner la première et dernière ligne
        if (i==0 || i==SIZE-1) {
          for (int j=0; j<SIZE; ++j) {
            cout << "*";
          }   
        //Dessiner la première et dernière colonne.
        } else {
          cout << "*";
          for (int j=0; j<SIZE-2; ++j) {
            cout << " ";
          }   
          cout << "*";
        }   
        cout << endl;
      }   
      return 0;
    }

    Ce message aurait plutôt sa place dans le forum "Algorithmes".

    N'hésite pas si tu as des questions.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Bahamas

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Par défaut
    Heureusement que j'ai mis sans langage C ou autre ^^
    C'est que du basique qu'on fait en ce moment

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine Saint Denis (Île de France)

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

    Informations forums :
    Inscription : Octobre 2015
    Messages : 25
    Par défaut
    Citation Envoyé par Payxnaw Voir le message
    Heureusement que j'ai mis sans langage C ou autre ^^
    C'est que du basique qu'on fait en ce moment
    Je ne sais pas ce que tu veux...
    Je t'ai fournis l'algorithme que tu as demandé.
    Tu peux adapter le code en ce que tu veux après voir en pseudo-code.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Bahamas

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Par défaut
    Je ne sais pas en quel langage on est mais on nos algo ressemblent à :
    Entrée
    Sortie
    Variable

    Début
    I <- 2
    Tant que ....
    I <- I + 2
    Fin tant que
    Fin

    Je ne sais pas convertir le langage C ++ en ce mode la

  6. #6
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 477
    Par défaut
    Bonjour et bienvenue,

    Citation Envoyé par Payxnaw Voir le message
    Heureusement que j'ai mis sans langage C ou autre ^^
    C'est que du basique qu'on fait en ce moment
    Citation Envoyé par Payxnaw Voir le message
    Je ne sais pas en quel langage on est mais on nos algo ressemblent à :
    Entrée
    Sortie
    Variable

    Début
    I <- 2
    Tant que ....
    I <- I + 2
    Fin tant que
    Fin

    Je ne sais pas convertir le langage C ++ en ce mode la
    Je ne sais pas comment sont tournés tes cours mais « basique » ne veut rien dire en l'état. À l'époque, c'était une dénomination officieuse pour parler du langage BASIC mais avec des mots-clés en français plutôt que les originaux en anglais. Et quand on parlait de BASIC à cette époque, ça ne voulait pas dire « Visual Basic », même si ce dernier reprend beaucoup du langage original.

    Ce que tu nous présentes ici est communément appelé « pseudo-code ». Ce n'est pas non plus un nom de langage défini mais au contraire une manière d'exprimer un algorithme avec les structures de boucle (« tant que », « pour… », etc.) et de données habituelles sans s'appuyer sur les spécificités d'un langage en particulier.

    En ce qui concerne ton problème, l'idée générale est d'afficher ceci :

    **********
    *        *
    *        *
    *        *
    *        *
    *        *
    *        *
    **********
    Par « étoile », on entend donc l'astérisque du code ASCII disponible partout. Bien que ce soit élémentaire, les enseignements oublient généralement de revenir aux fondamentaux, à savoir que par défaut, on considère que ton programme travaille en mode ligne, c'est-à-dire comme une machine à écrire. Et plus précisément :

    • Il ne produit que du texte ;
    • Chaque caractère prend place juste après le dernier émis ;
    • Il est possible « d'aller à la ligne », c'est-à-dire quitter la ligne en cours et sauter au début de la ligne suivante.


    Sachant cela, on a donc :
    • Une ligne remplie d'étoiles ;
    • n lignes constituée d'une étoile, puis d'espaces, puis d'une nouvelle étoile ;
    • Une nouvelle ligne remplie d'étoiles identiques à la première.


    C'est le « n » qui est important ici : plutôt que de réécrire n fois la même ligne à la main, tu vas initialiser une variable avec le nombre de lignes souhaitées et tu vas définir une boucle qui va itérer « tant que » ta variable n'est pas revenue à zéro, c'est-à-dire tant qu'il reste des lignes à écrire. Partant de ces informations, je te laisse prendre exemple sur l'extrait de code que tu nous présentes et qui fait quelque chose de tout à fait similaire.

    Bon courage.

Discussions similaires

  1. Algorithme de génération des emplois du temps
    Par emmye dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 19/04/2010, 00h32
  2. Algorithme de génération de clé
    Par norwy dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 24/05/2008, 10h23
  3. Algorithme de génération de mdp (alphanum et num)
    Par _SamSoft_ dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 11/09/2007, 19h42
  4. Algorithme de génération de textures.
    Par Disciple195 dans le forum SDL
    Réponses: 2
    Dernier message: 18/06/2007, 20h16
  5. Génération signal carré
    Par nuans dans le forum Signal
    Réponses: 6
    Dernier message: 17/04/2007, 10h49

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