Fonction rand dans un tableau 2d en c
Fermé
tatouprog
Messages postés
6
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
20 décembre 2007
-
19 déc. 2007 à 19:55
Qwerti Messages postés 166 Date d'inscription dimanche 2 septembre 2007 Statut Membre Dernière intervention 28 octobre 2008 - 20 déc. 2007 à 11:21
Qwerti Messages postés 166 Date d'inscription dimanche 2 septembre 2007 Statut Membre Dernière intervention 28 octobre 2008 - 20 déc. 2007 à 11:21
A voir également:
- Fonction rand dans un tableau 2d en c
- Tableau croisé dynamique - Guide
- Fonction si et - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Trier un tableau excel - Guide
15 réponses
Qwerti
Messages postés
166
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
85
19 déc. 2007 à 20:00
19 déc. 2007 à 20:00
Pour un tableau 10x10 :
int tableau[10][10];
Ca te donne un tableau. Il y a des chances d'avoir des résidus "aleatoires" dans ce tableau. Mais si vraiment tu veux quelque chose de plus aléatoire, tu peux utiliser les fonctions rand() et srand()...
Dis-moi quel est ton niveau en C ?
Est-ce que tu veux la solution toute prete toute machée ?
Ou au contraire, es-tu pret(e) a chercher un peu ?
a+
-Qwerti.
int tableau[10][10];
Ca te donne un tableau. Il y a des chances d'avoir des résidus "aleatoires" dans ce tableau. Mais si vraiment tu veux quelque chose de plus aléatoire, tu peux utiliser les fonctions rand() et srand()...
Dis-moi quel est ton niveau en C ?
Est-ce que tu veux la solution toute prete toute machée ?
Ou au contraire, es-tu pret(e) a chercher un peu ?
a+
-Qwerti.
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
19 déc. 2007 à 20:44
19 déc. 2007 à 20:44
si tu sait utiliser la fonction rand() apres il faut que tu remplisse chaque case du tableau en le parcourant avec deux boucle for et dans chaque case tu met un nombre aleatoire avec rand()
bonne chance ;)
bonne chance ;)
tatouprog
Messages postés
6
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
20 décembre 2007
19 déc. 2007 à 21:15
19 déc. 2007 à 21:15
Je suis débutante en programmation mais je suis pleine de bonne volonté
Voici, mon programme :
#include <iostream>
#include <algorithm>
#include <time.h>
using namespace std;
#define N 6
#define M 6
int main()
{
int i,j;
srand(time(NULL));
char tab[N][M] = {{'a','b','c','d','e','a'},{'a','b','c','d','e','a'}};
rand(M,N,tab*);
for(i = 0; i < N; i++){
for(j = 0; j < M; j++){
cout << tab[i][j] << " | ";
}
cout << endl;
return 0;
}
}
Voici, mon programme :
#include <iostream>
#include <algorithm>
#include <time.h>
using namespace std;
#define N 6
#define M 6
int main()
{
int i,j;
srand(time(NULL));
char tab[N][M] = {{'a','b','c','d','e','a'},{'a','b','c','d','e','a'}};
rand(M,N,tab*);
for(i = 0; i < N; i++){
for(j = 0; j < M; j++){
cout << tab[i][j] << " | ";
}
cout << endl;
return 0;
}
}
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
19 déc. 2007 à 21:21
19 déc. 2007 à 21:21
ça ressemble plutot a du C++ ça...
ton exo c'est en C ou C++ ?
ton exo c'est en C ou C++ ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tatouprog
Messages postés
6
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
20 décembre 2007
19 déc. 2007 à 21:23
19 déc. 2007 à 21:23
en c++
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
19 déc. 2007 à 21:28
19 déc. 2007 à 21:28
lol
c'est bien ce que je me disais...
dsl je connais pas la syntaxe exact du C++
mais a mon avis tu devrais pas initialiser le tableau au debut
et qd tu tire un nombre du lui affecte une letre par(exemple si tu a "1" tu considere que c'est "a" etc...)
ps : tu devrais peu etre changer le titre de ton post pour que des gens qui s'y connaissent mieux en C++ puisse t'aider
bonne chance ;)
c'est bien ce que je me disais...
dsl je connais pas la syntaxe exact du C++
mais a mon avis tu devrais pas initialiser le tableau au debut
et qd tu tire un nombre du lui affecte une letre par(exemple si tu a "1" tu considere que c'est "a" etc...)
ps : tu devrais peu etre changer le titre de ton post pour que des gens qui s'y connaissent mieux en C++ puisse t'aider
bonne chance ;)
Qwerti
Messages postés
166
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
85
19 déc. 2007 à 21:48
19 déc. 2007 à 21:48
#include <iostream>
using namespace std;
#define N 6
#define M 6
// Table des caracteres :
#define TableLength 5
char* table[TableLength]={"a","b","c","d","e"};
int main(){
int i,j;
char* tab[M][N];
srand(time(NULL));
//Initialisation du tableau :
for(i = 0; i < N; i++) for(j = 0; j < M; j++) tab[i][j]=table[(rand()*TableLength)/RAND_MAX];
for(i = 0; i < N; i++){
for(j = 0; j < M; j++){
cout << tab[i][j] << " ";
}
cout << endl;
}
return 0;
}
C'est mieux comme ca !
Si tu as besoin d'explications je te les fournirai sans probleme !
a+
-Qwerti.
using namespace std;
#define N 6
#define M 6
// Table des caracteres :
#define TableLength 5
char* table[TableLength]={"a","b","c","d","e"};
int main(){
int i,j;
char* tab[M][N];
srand(time(NULL));
//Initialisation du tableau :
for(i = 0; i < N; i++) for(j = 0; j < M; j++) tab[i][j]=table[(rand()*TableLength)/RAND_MAX];
for(i = 0; i < N; i++){
for(j = 0; j < M; j++){
cout << tab[i][j] << " ";
}
cout << endl;
}
return 0;
}
C'est mieux comme ca !
Si tu as besoin d'explications je te les fournirai sans probleme !
a+
-Qwerti.
Merci beaucoup pour ta correction. ça m'a permis de faire mon affichage.
Voici le code :
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
#define N 6
#define M 6
// Table des caracteres :
#define TableLength 5
char* table[TableLength]={" a "," b "," c "," d "," e "} ;
int main(){
int i,j;
char* tab[M][N];
srand(time(NULL));
//Initialisation du tableau :
for(i = 0; i < N; i++) for(j = 0; j < M; j++) tab[i][j]=table[(rand()*TableLength)/RAND_MAX];
for(i = 0; i < N; i++){
cout <<" +---+---+---+---+---+---+"<< endl;
cout <<6-i<< "|";
for(j = 0; j < M; j++){
cout << tab[i][j]<< "|";
}
cout << endl;
}
cout <<" +---+---+---+---+---+---+"<< endl;
cout <<" a b c d e f"<< endl;
return 0;
}
Maintenant, il faut que je m'attaque au fond.
Je dois construire un marble...
Voici le code :
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
#define N 6
#define M 6
// Table des caracteres :
#define TableLength 5
char* table[TableLength]={" a "," b "," c "," d "," e "} ;
int main(){
int i,j;
char* tab[M][N];
srand(time(NULL));
//Initialisation du tableau :
for(i = 0; i < N; i++) for(j = 0; j < M; j++) tab[i][j]=table[(rand()*TableLength)/RAND_MAX];
for(i = 0; i < N; i++){
cout <<" +---+---+---+---+---+---+"<< endl;
cout <<6-i<< "|";
for(j = 0; j < M; j++){
cout << tab[i][j]<< "|";
}
cout << endl;
}
cout <<" +---+---+---+---+---+---+"<< endl;
cout <<" a b c d e f"<< endl;
return 0;
}
Maintenant, il faut que je m'attaque au fond.
Je dois construire un marble...
Qwerti
Messages postés
166
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
85
20 déc. 2007 à 00:47
20 déc. 2007 à 00:47
Ravi d'avoir pu t'aider...
Mais, euh, paronne mon ignorance, c'est quoi un marble ?
a+
-Qwerti.
Mais, euh, paronne mon ignorance, c'est quoi un marble ?
a+
-Qwerti.
tatouprog
Messages postés
6
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
20 décembre 2007
20 déc. 2007 à 01:01
20 déc. 2007 à 01:01
c'est un solitaire dont le but est de supprimer un nombre maximum de billes (ici ce sont des lettres) en un minimum de coup.
Qwerti
Messages postés
166
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
85
20 déc. 2007 à 01:02
20 déc. 2007 à 01:02
Ah cool ! :-)
C'est quoi la condition pour pouvoir supprimer les billes ?
C'est quoi la condition pour pouvoir supprimer les billes ?
tatouprog
Messages postés
6
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
20 décembre 2007
20 déc. 2007 à 01:22
20 déc. 2007 à 01:22
il faut selectionner des lettres sur le plateau en notant leur coordonée (ex: 2f ou f2). Pour que le coup soit valide, la bille sélectionnée doit etre voisine d'au moin 1 bille de meme couleur (ici se sont des lettres). les billes voisines sont celle situé au dessus, en dessous, à droit et a gauche ( diagonale non admise) de la bille sélectionnée.
Qwerti
Messages postés
166
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
85
20 déc. 2007 à 01:44
20 déc. 2007 à 01:44
Ah d'accord !
Donc dans ce cas tu elimines toutes les billes qui on la meme lettre, d'un coup, c'est ca ?
Ex :
abace
cecad
cceba
cdcab
devient (j'elimine les c en bas a gauche --- je mets des points a la place)
ababe
.ecad
..eba
.dcab
Et justement, on en fait quoi des points maintenant ? Ils restent comme ca, cases vides ? Mais alors je ne pourrais jamais eliminer les deux c qui restent... :-/
Bon, en tout cas ca a l'air rigolo...
Tiens-nous au courant de tes avancées !
a+
-Qwerti.
Donc dans ce cas tu elimines toutes les billes qui on la meme lettre, d'un coup, c'est ca ?
Ex :
abace
cecad
cceba
cdcab
devient (j'elimine les c en bas a gauche --- je mets des points a la place)
ababe
.ecad
..eba
.dcab
Et justement, on en fait quoi des points maintenant ? Ils restent comme ca, cases vides ? Mais alors je ne pourrais jamais eliminer les deux c qui restent... :-/
Bon, en tout cas ca a l'air rigolo...
Tiens-nous au courant de tes avancées !
a+
-Qwerti.
tatouprog
Messages postés
6
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
20 décembre 2007
20 déc. 2007 à 09:28
20 déc. 2007 à 09:28
Les billes subissent un mouvement de gravité puis s'il y a des colonnes entierement vides un tassement vers la gauche.
Dans ton exemple, le tableau donnerai :
. . abe
. bcad
. eeba
adcab
Dans ton exemple, le tableau donnerai :
. . abe
. bcad
. eeba
adcab
Qwerti
Messages postés
166
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
28 octobre 2008
85
20 déc. 2007 à 11:21
20 déc. 2007 à 11:21
Ahhh d'accord ! Merci pour l'info tatouprog !
Alors je te souhaite bonne chance avec la programmation du Marble :-)
a+
-Qwerti.
Alors je te souhaite bonne chance avec la programmation du Marble :-)
a+
-Qwerti.