begin process at 2012 05 29 04:59:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

Fonction Rand pour démineur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fonction Rand pour démineur

mardi 1 avril 2008 à 18:53:10 | Fonction Rand pour démineur

pitidragon

Bonjour à tous,

je dois programmer un démineur en langage C pour mes études et j'ai besoin d'aide. Je dois utiliser la fonction Rand pour générer mes bombes dans mon démineur mais je ne sais pas comment faire.

Quelqu'un pourrait m'aider ?

Je détaille un peu :

J'ai un tableau de 9x9 et je veux placer 10 mines dedans (représenté par le chiffre -1), mais je veux placer c'est mines aléatoirement dans le tableau.

Merci d'avance pour votre aide :)
mardi 1 avril 2008 à 19:32:47 | Re : Fonction Rand pour démineur

jfrancois

Bonjour,

Voilà un exemple de réalisation :

#include <stdio.h>
#include <time.h>
void main()
{
   #define DIM_GRILLE 9
   int grille[DIM_GRILLE][DIM_GRILLE];
   int i,j,n;

   // --- Initialiser la grille
   for (i=0 ; i<DIM_GRILLE ; ++i)
      for (j=0 ; j<DIM_GRILLE ; ++j)
         grille[i][j] = 0;

   // --- Initialiser le générateur de nombres aléatoires
   srand((unsigned int)time(NULL));

   // --- Mines aléatoires
   for (n=0 ; n<DIM_GRILLE ; ++n)
   {
      // --- Couples (i,j) aléatoires et uniques
      do
      {
         i = rand() % DIM_GRILLE;
         j = rand() % DIM_GRILLE;
      } while (grille[i][j] != 0);
      grille[i][j] = -1;
   }

   // --- Visu de la grille
   for (i=0 ; i<DIM_GRILLE ; ++i)
   {
      for (j=0 ; j<DIM_GRILLE ; ++j) printf("%2d ",grille[i][j]);
      printf("\n");
   }
   printf("\n");
}

Ce qui donne :

 0 -1  0  0  0  0 -1  0  0
 0  0  0  0  0  0  0  0  0
 0  0 -1 -1  0 -1  0  0  0
 0  0  0  0  0  0  0  0  0
 0  0  0  0  0  0  0 -1  0
 0  0  0  0 -1  0  0  0  0
-1  0  0 -1  0  0  0  0  0
 0  0  0  0  0  0  0  0  0
 0  0  0  0  0  0  0  0  0

Jean-François

mardi 1 avril 2008 à 20:06:04 | Re : Fonction Rand pour démineur

jfrancois

Post à consulter pour des précisions concernant rand() et srand() : http://www.cppfrance.com/infomsg_NOMBRE-SPEUDO-ALEATOIRE_1085331.aspx

Jean-François

mardi 1 avril 2008 à 21:22:55 | Re : Fonction Rand pour démineur

pitidragon

Merci pour ton aide :)

J'ai un soucis, une erreur de segmentation lorsqu'une de mes fonctions se lance mais je ne vois pas l'erreur.

Ma structure :

struct t_case{
    int valeur;
    bool affiche;
    };

typedef struct t_case Demineur[99][99];

Ma fonction qui bugge :

void initialisation(Demineur d, int nbl, int nbc)
{
    int i,j;

    for(i=0;i<=nbl;i++)
    {
        for(j=0;j<=nbc;i++)
        {
            d[i][j].valeur=0;
            d[i][j].affiche=0;
        }
    }
}

Mon petit main pour tester la fonction :

int main()
{
   
    int nbl=9, nbc=9;
    Demineur d;

    printf("********** DEMINEUR **********\n");
    initialisation(d, nbl, nbc);

    return(0);
}

Et donc quand je lance après mon printf j'ai une erreur de segmentation.

Help please
mardi 1 avril 2008 à 21:40:54 | Re : Fonction Rand pour démineur

jfrancois


void initialisation(Demineur d, int nbl, int nbc)
{
    int i,j;

    for(i=0;i<nbl;i++) // et non <=
    {
        for(j=0;j<nbc;j++) // et non <=, j++ et non i++
        {
            d[i][j].valeur=0;
            d[i][j].affiche=false; // plus logique que 0 !
        }
    }
}


Jean-François

mardi 1 avril 2008 à 22:00:53 | Re : Fonction Rand pour démineur

pitidragon

Je te remercie beaucoup, ça fonctionne.

Je me permettrais de reposer quelques question si je rencontre à nouveau des problèmes :)
mardi 1 avril 2008 à 22:02:08 | Re : Fonction Rand pour démineur

jfrancois

Bonne chance et bon jeu !

Jean-François



Cette discussion est classée dans : fonction, aide, tableau, rand, démineur


Répondre à ce message

Sujets en rapport avec ce message

[DEBUTANT] Fonction rand () [ par kojiro2 ] G un problème avec la fonction rand dans un pti jeuke je suis en train de faire.Je veux générer un nombre aléatoire (jusque là pas de pb).Ce nombre al creer une fonction retournant un tableau [ par billcala ] j'essaie de créer une fonction qui doit initialiser un tableau d'entiers : le code que je fais est :int mafonction()[8];using namespace std;int mafonc tableau a double entrée alloué dynamiquement [ par amortlintelligence ] Voila j'aurais voulu utiliser un tableau (tableau de tableau) dans une fonction. Je pense qu'il faut donc que je le crée dynamiquement avec un code du besoin d'aide [ par delage ] je dois écrire le programme suivant: A Ecrîre le programme permettant de tracer f suivant la méthode suivante - entrer Les réels a, b, bornes de l'int REcuperer des donnée d'un fichier binaire vers une tableau de hachage [ par whiteknight ] Slt j'ai des problemes avec ma fonction load qui me permet de recuperer les données d'un fichier binaire et de les transférer vers un tableau de hacha aide pour ouverture en hexa [ par alphaone ] Svp pouvais vous me faire un prog qui ouvre un fichier en hexa l'enregistre dans un tableau de nombre. et reconstitu le fichier à partir du tableau de Saisir une touche clavier (besoin d aide :) ) [ par vychnou ] Bonjour..je débute en C++, et j'aimerais trouver un moyen(par exemple une fonction)permettant ,sans passer par un cin ,d attendre la saisie d une touc strcat() ???? [ par supergrey ] Salut tout le monde, jai un petit probleme avec la fonction strcat() , je commence a peine un programme que deja je bloque la dessus jaimerai de l'aid Problème pour passer un tableau dynamique à une fonction [ par muguss ] Je n'arrive pas à passer parfaitement mon tableau dynamique de type HANDLE à ma fonction afin que cette dernière ajoute un HANDLE au tableau, donc l'a Tableaux VB -> C++ [ par jon26 ] Bonjour, quelqu'un sait comment se comporte un tableau en vb par rapport à c++? Je m'explique.Dim vect(2,7) as longVoici un tableau à deux dimensions


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales