Je suis en train de créer un programme qui, si un utilisateur entre un mot (dont la longueur maximale est de 10), affiche ce mot dans l’ordre alphabétique.
Le code ci-dessous est celui que j’ai écrit.
#include <stdio.h>
#include <string.h>
#define MAX 10
void bubble_sort(char* arr, int n);
int main(void) {
char tab[MAX];
int n = sizeof(tab) / sizeof(char);
scanf("%s", tab);
bubble_sort(tab, n);
printf("%s", tab);
return 0;
}
void bubble_sort(char* arr, int n) {
int i, j, tmp = 0;
for (i = 0; i < n - 1; i++) {
for(j=0;j<i-1;j++)
if (*(arr+j) > *(arr+j+1)) {
tmp = *(arr+j);
*(arr+j) = *(arr+j+1);
*(arr+j+1) = tmp;
}
}
}
Mais cela ne fonctionne pas. J’ai utilisé le tri à bulles. Je ne suis pas compétent pour utiliser les tableaux de pointeurs et le tri, donc je ne peux pas attraper ce qui ne va pas.
Je travaille sur Visual Studio 2019, et il indique que la valeur de retour a ignoré scanf(). Je n’arrive pas à comprendre. Qu’est-ce qui ne va pas ?