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 :

Simulation d'une grille à coordonnées aléatoires.


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Par défaut Simulation d'une grille à coordonnées aléatoires.
    Voilà, je débute en C et j'ai écrit un petit programme servant à afficher des '*' dans un tableau à 2 dimensions (ligne, colonne) le nombre de ligne/colonne est donné à la saisie.

    Voici le code

    Code : 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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
     
    #define NB_LIG 100 // Nombre de ligne MAX
    #define NB_COL 100 // Nombre de colonne MAX
     
    #define MIN 1
    //#define MAX 100
     
     
    int main(int argc, char * argv[])
    {
        char tab1[NB_LIG][NB_COL] = {{0},{0}};     
     
        long i = 0, j = 0;                          
        long ligne = 0;                             
        long lig = 0, col = 0;
        long MAX = 0;
     
        printf("Nombre de ligne : ");
        scanf("%ld", &ligne);
        MAX = ligne;
     
        srand(time(NULL));
     
     
        for (i = 0; i < ligne + 1 ; i++)
        {
            for ( j = 0; j < i; j++)
            {
                lig = (rand() % (MAX - MIN + 1)) + MIN ;
                col = (rand() % (MAX - MIN + 1)) + MIN ;
                tab1[lig][col] = '*' ;
                printf("%c", tab1[i][j]);
            }
            printf("\n");  
     
        }
     
        return 0;
    }
    Je veux faire une grille qui se rempli aléatoirement de '*' en continu et voir ça en temps réel sur la console .

    Je sais pas si je me suis fait comprendre, les critiques etc... sont bien sur les bienvenue .

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 472
    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 472
    Par défaut
    Citation Envoyé par sGueko Voir le message
    Je veux faire une grille qui se rempli aléatoirement de '*' en continu et voir ça en temps réel sur la console .

    Je sais pas si je me suis fait comprendre, les critiques etc... sont bien sur les bienvenue .
    C'est pas super-clair, en effet. Si ton objectif est de faire un effet de « pluie » en remplissant aléatoirement une grille affichée sur l'écran, il faut piloter la console. Ce n'est malheureusement pas standard et ça dépend de la plate-forme sur laquelle tu tournes (Windows ?) mais tu peux essayer d'écrire des codes CSI pour déplacer ton curseur.

    D'autre part, ta fonction random ne vérifie pas si une case est déjà pleine et peut placer un * dans la même cellule plusieurs fois. Au final, ta grille ne sera pas remplie.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Par défaut
    Oui désolé de pas avoir été aussi clair, oui je suis sous windows.

    Et c'est à peu près ça l'effet de pluie, avoir un tableau dynamique sur la console, ça serait une boucle qui se répéterait mais sans voir la console défilé.

    Mais je crois avoir compris que c'est impossible, en tout cas merci

  4. #4
    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
    C'est tout sauf impossible, sous Windows.
    Avec des fonctions comme SetConsoleCursorPosition(), ou des trucs plus élaborés comme WriteConsoleOutputCharacter()...
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Générer une grille aléatoire pour sudoku en c
    Par lady_nine dans le forum C
    Réponses: 8
    Dernier message: 26/04/2014, 11h47
  2. Mettre des images aléatoirement dans une grille
    Par LeMarseillais78 dans le forum Interfaces Graphiques en Java
    Réponses: 48
    Dernier message: 08/04/2014, 19h42
  3. Réponses: 24
    Dernier message: 20/03/2014, 14h16
  4. Réponses: 8
    Dernier message: 09/05/2008, 21h08

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