Salut !
Ce matin, je me suis lancé dans un petit exo sans chercher les optimisations de code (il y en a à faire ) et là je me suis retrouvé avec une méga erreur d'affichage que je n'arrive pas à résoudre. Voici le code source :
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
44
45
46
47
48
49
50
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
 
void brasse(int [][13]);
void distribue(const int [][13], const char *[], const char *[]);
 
int main() {
	const char *couleur[] = { "Carreau", "Coeur", "Pique", "Trèfle" };
	const char *face[]    = { "As", "Deux", "Trois", "Quatre", "Cinq", "Six", "Sept", "Huit", "Neuf", "Dix", "Valet", "Dame", "Roi" };
	int jeu[4][13] = {0};
 
	srand(time ( 0 ));
 
	brasse(jeu);
	distribue(jeu, face, couleur);
 
	cout << endl;
	return 0;
}
 
void brasse(int wJeu[][13]) {
	int ligne,
		colonne;
 
	for(int carte=1; carte<=52; ++carte) {
		do {
		ligne = rand() % 4;
		colonne = rand() % 13;
		}
		while(wJeu[ ligne ][ colonne ] != 0);
 
		wJeu[ ligne ][ colonne ] = carte;
	}
}
 
void distribue(const int wJeu[][13], const char *wFaces[], const char *wCouleurs[]) {
	for(int carte=1; carte <=52; ++carte) {
		for(int ligne=0; ligne<3; ++ligne) {
			for(int colonne=0; colonne<13; ++colonne) {
				if(wJeu[ligne][colonne] == carte) {
					cout << setw(6) << setiosflags(ios::left) << wFaces[colonne] << " de "
						 << setw(7) << setiosflags(ios::left) << wCouleurs[ligne]
						 << (carte % 2 == 0 ? '\n': '\t');
				}
			}
		}
	}
}
Voici la sortie en console :
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
./mddc
Quatre de Coeur         Cinq   de Carreau
Trois  de Pique         Sept   de Pique
As     de Pique         As     de Coeur         Neuf   de Pique         Dame   de Coeur
Roi    de Coeur         Roi    de Carreau
Six    de Coeur         Sept   de Coeur
Dame   de Carreau       Dame   de Pique         Huit   de Carreau
Cinq   de Coeur         Deux   de Carreau
Six    de Pique         Trois  de Coeur
Dix    de Carreau       Huit   de Pique
Dix    de Coeur
Valet  de Pique         Deux   de Coeur
Six    de Carreau       Huit   de Coeur         Deux   de Pique
Cinq   de Pique         Valet  de Coeur
Valet  de Carreau       Sept   de Carreau
Quatre de Pique         Trois  de Carreau
Quatre de Carreau       Neuf   de Carreau       As     de Carreau       Neuf   de Coeur
Dix    de Pique         Roi    de Pique
Je ne comprends absolument pas d'où vient l'erreur