begin process at 2012 02 11 04:03:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

remplir aléatoirement une matrice binaire dynamique


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

remplir aléatoirement une matrice binaire dynamique

mardi 19 août 2008 à 11:34:56 | remplir aléatoirement une matrice binaire dynamique

amani20081984



bonjour,
je veux bien remplir une matrice de structure dynamique d'une manière aléatoire par des valeurs 0 et 1 en utilisant la fonction rand(),
voicii un code utilisant cette fonction mais dans une matrice de structure statique.

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
 

int main()
{
  #define DIM_GRILLE 100
   int m[DIM_GRILLE][DIM_GRILLE];
   int i,j,n,cpt;

   // --- Initialiser la grille
  
       
   for (i=0 ; i<DIM_GRILLE ; ++i)
      for (j=0 ; j<DIM_GRILLE ; ++j)
         m[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*DIM_GRILLE-100 ; ++n)
   {
      // --- Couples (i,j) aléatoires et uniques
      do
      {
         i = rand() % DIM_GRILLE;
         j = rand() % DIM_GRILLE;
      } while (m[i][j] != 0);
      m[i][j] = 1;
   }

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


   system("pause");
   return 0;
}
MERCI D'AVANCE.
mardi 19 août 2008 à 12:17:35 | Re : remplir aléatoirement une matrice binaire dynamique

laurent1024

Membre Club
Bonjour
C'est quasi la même chose sauf que tu remplaces :
  #define DIM_GRILLE 100
   int m[DIM_GRILLE][DIM_GRILLE];
par :
int dim_grille = 100;
int ** m = (int **) malloc(sizeof(int *) * dim_grille):
for(int i = 0; i < dim_grille; i++) {
     m[i] = (int *) malloc(sizeof(int) * dim_grille);
}
mardi 19 août 2008 à 13:38:03 | Re : remplir aléatoirement une matrice binaire dynamique

Warium

tu peux aussi reserver en utilisant la fonction new comme suit

  #define DIM_GRILLE 100
  
int ** m = new int* [Dim_grille]
for(int i = 0; i < Dim_grille; i++) 
     (*m)[i] = new int  [Dim_grille] ;
puis tu initialise le générateur aléatoire. tu remplis la matrice et fin

Conseil : ecris une fonction qui resrve de l'espace dynamiquement a part puis une autre
 procedure qui remplit une matrice aleatoirement et enfin tu appeles les deux fonctions precedente successivement

By Warium.

mardi 19 août 2008 à 15:47:32 | Re : remplir aléatoirement une matrice binaire dynamique

SAKingdom

Membre Club
http://www.codyx.org/snippet_allocateur-pointeur-pointeurs_293.aspx

malloc2d(100, sizeof(int));

C++ (@++)

mardi 19 août 2008 à 21:08:18 | Re : remplir aléatoirement une matrice binaire dynamique

amani20081984

j'ai trouvé une autre manière d'allocation dynamique
m=(int *) malloc(sizeof(int)*dim_grille*dim_grille);
et remplacer chaque m[i][j] par m[i*dim_grille+j]
merci à tous
à +
 


Cette discussion est classée dans : int, grille, for, matrice, cpt


Répondre à ce message

Sujets en rapport avec ce message

compilation mai au lancement "erreur la memoire ne peu pas pas etre read" [ par touny23 ] je maitrise pas tro le C.mai comme j ai un projet a faire dessus pour la rentré , je sui obligé de m y mettre .j arrive a compiler sous dev-cpp mai lo URGENT :voila la sulution du SUDOKU avec recursivité,mais y a qq chose qui manque [ par imad_lol ] merci de lire ma fonction de parcour (recursive).jai donné que des "0" a ma grille.donc y a au moin une solution.mon prg affiche les chiffe de "1" a " Aide sur la construction d'une fonction [ par iamor ] Bonsoir, je souhaite améliorer un programme que j'ai codé pour qu'il soit plus clean, mais pour se faire j'aurai besoin d'avoir une petite aide sur la algorithmique de fonction rec [ par fs_fck_sarko ] bonjour tout le monde, est ce que quelquun pourai maider pour le calul de complexite d'un programme qui resout les sudoku ? En fait je voudrais trouve Return tableau? [ par zut69 ] Bonjour,Je suis en train d'écrire un petit programme sur les matrices en C, mais vu que je veux faire quelque chose d'assez général, j'ai besoin que d matrice de caractere en c [ par flofloo ] slt tout le monde voici mon probleme : char **Init_Matrice_IrcMSG(int ligne,int colone){     char **mat = NULL;     int i;     mat = surcharges des operators [ par leroiloup ] salut a tout j'ais un probleme d'implementer les deux operator (operator+, operator*) et comment l'etuliser dans main() #include #include using names class matrice [ par ciaonataha ] J'ai ecrit le programme classe matrice...mais j'ai les error comme:"matrice.cpp:269: error: no match for 'operator=' in 'b = matrice::Mat_decomposer(a Produit matriciel en c renvoit des valeurs complètement fausses [ par bilel59 ] Bonjout à tous, je sollicite votre aide pour la raison indiquée dans le titre, en effet le produif matriciel que j'effectue renvoit des valeurs vraime Une matrice est-elle transitive ? [ par 69Vincent ] Bonjour. Tout d'abord enchanté d'être sur le forum! Je suis un étudiant à l'IUT A de Lyon et j'ai quelques petits problème en C. Voilà le problème : O


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 3,401 sec (4)

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