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

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Bahamas

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Points : 0
    Points
    0
    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 du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Saint Denis (Île de France)

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

    Informations forums :
    Inscription : Octobre 2015
    Messages : 25
    Points : 46
    Points
    46
    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
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Bahamas

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Points : 0
    Points
    0
    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 du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Saint Denis (Île de France)

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

    Informations forums :
    Inscription : Octobre 2015
    Messages : 25
    Points : 46
    Points
    46
    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
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Bahamas

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Points : 0
    Points
    0
    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
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    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.

  7. #7
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Quels sont les 2 imb... qui ont mis -1 à Obsidian suite à sa superbe réponse ?
    Il a tout fait. Il a aidé à comprendre la question initiale de Paysnaw, parce que cette question initiale était vraiment mal rédigée.
    Il a fait quelques rappels de définitions, et il a donné un plan de travail très clair.

    Et pour cette contribution parfaite, on lui colle un -1 ???

    J'imagine qu'il s'en moque comme de sa première chemise, mais c'est minable...
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  8. #8
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    Quels sont les 2 imb... qui ont mis -1 à Obsidian suite à sa superbe réponse ?
    Il a tout fait. Il a aidé à comprendre la question initiale de Paysnaw, parce que cette question initiale était vraiment mal rédigée.
    Il a fait quelques rappels de définitions, et il a donné un plan de travail très clair.

    Et pour cette contribution parfaite, on lui colle un -1 ???

    J'imagine qu'il s'en moque comme de sa première chemise, mais c'est minable...
    osef ? 2 rageux d'un côté, 17k points de l'autre, et ceux qui prennent le temps de lire savent la valeur des posts d'untel ou untel
    par ailleurs je trouve qu'on accorde trop d'importance à ces points, bons ou mauvais, mais quand on reçoit un +1 on ne se pose pas toutes ces questions pas vrai

    de la même façon faut sans doute apprendre à ne pas percevoir le -1 comme une sanction ou quelque chose de systématiquement négatif, ça reste qu'un maigre indicateur, révélateur de -selon le cas- la compétence relative d'une personne vis à vis de ceux qui le lisent, ou sa capacité à une certaine consensualité (fait plaisir en disant ce que les autres veulent entendre), voire simplement à faire de la politique en maniant les foules (cf le forum actu/politique ?)

    faut prendre ça plus à la légère, m'est avis...
    </HS>

    <HS²>edit: oh et si certains mettent un peu trop de -1, on pourrait aussi dire que beaucoup sont radins en +1, mais là encore tout dépend dans quel sens on voit la vie j'imagine </HS²>

  9. #9
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Citation Envoyé par Beaumarchais dans le Mariage de Figaro
    Sans liberté de blâmer, il n'est point d'éloge flatteur.
    On pourrait imaginer de stocker 2 chaînes de caractères: 1 pour les extrémités et une pour le milieu.
    Ainsi, le dessin du rectangle ne serait qu'une copie, au lieu d'une construction toujours dynamique de la ligne.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

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