Le programme doit permettre de saisir 10 mots de 20 caractères, et doit les ressortir triés dans l'ordre alphabétique. Sa devrais pas être un exo difficiles, mais je me casse la tête dessus...

Voici mon 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
51
52
53
54
void Exercice1() // Appel de l'exercice 1
{
	system("cls"); // On éfface l'écran
 
	// On présente ici l'exercice
	printf("------------------------------------------------\n");
	printf("Exercice1\n");
	printf("------------------------------------------------\n");
	printf("Saisie 10 mots de 20 caracteres dans un tableau\n");
	printf("------------------------------------------------\n\n");
 
	// Déclaration & Initialisation du tableau
	#define TAILLE_TABLEAU1_X 20
	#define TAILLE_TABLEAU1_Y 10
	int ligne, colonne;
	char tableau[TAILLE_TABLEAU1_Y][TAILLE_TABLEAU1_X] = {0};
 
// DEBUT
 
	printf("\nSaisissez vos 10 mots de 20 caracteres a la suite\n");
 
	for(ligne=0; ligne<=TAILLE_TABLEAU1_Y-1; ligne++) // On fait une boucle de 10
	{
		scanf("%s", tableau[ligne]); // On utilise un %s pour une chaîne de caractères (%c, un caractère seulement)
		fflush(stdin); // On vide le flux
	}
 
	printf("\nDans l'ordre alphabétique");
 
	char tmp;
 
	for (ligne=0; ligne<TAILLE_TABLEAU1_Y-1; ligne++)
	{
		for (colonne=0; colonne<TAILLE_TABLEAU1_X-1; colonne++)
		{
			if (strcmp(tableau[ligne],tableau[colonne]))
			{
				tmp  = tableau[ligne+1][colonne];
				tableau[ligne+1][colonne] = tableau[ligne][colonne];
				tableau[ligne][colonne] = tmp;
			}
		}
	}
 
	//ordonnerTableau_2D (tableau, TAILLE_TABLEAU1_X);
 
	for(ligne=0; ligne< TAILLE_TABLEAU1_Y-1; ligne++) // On fait une boucle de 10
	{
		printf(": %s", tableau[ligne]);
		printf("\n");
	}
 
// FIN
}
Je compile aucunes erreurs, mais sa trie pas bien du tous... et je ne vois pas trop ou chercher, je suis un peu embrouille faut dire .

Mon second problèmes c'est que normalement faudrait que je fasse la fonction de trie en fonctions, mais sa compile pas en me disant que la fonction ordonnerTableau_2D ne prend pas 2 arguments, et la encore je comprend pas pourquoi il me dit sa..

J'ai écrit ma fonction de la sorte
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
ordonnerTableau_2D (tableau, TAILLE_TABLEAU1_X);
(dans le main)
 
// Appel la fonction ordonnerTableau
void ordonnerTableau_2D (char tableau[][20], int nb_lignes)
{
}
(sans oublier bien sur la déclaration de la fonction dans un .h)
Je vous remerci d'avance, si certains peuvent m'avancer dans mon problème