Tri de chaîne de caractère
Ce topic prend la suite du topic suivant: http://www.developpez.net/forums/d12...lement-boucle/
Je dois rendre un devoir qui me demande de transformer le programme ci-dessous, pour qu'il tri des char alphabétique à la place des float.
Code:
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
| #include <stdio.h>
#include <stdlib.h>
main()
{
int i,j,k,n;
float t[100],x;
printf("Combien de nombre souhaitez vous saisir (<100)?\n");
scanf("%d",&n);
printf("Saisir les nombres :\n");
for(i=0;i<n;i++)
{
printf("t[%d]=",i);
scanf("%f",&t[i]);
}
/*Tri*/
for(i=0;i<0;i++)
{
x=t[i];
k=i;
for(i=i+1;j<n;j++)
if(x>t[j])
{
x=t[j];
k=j;
}
if(k!=i)
{
t[k]=t[i];
t[i]=x;
}
}
/*Sortie des valeurs du tableau trié*/
for(i=0;i<n;i++)
printf("t[%d]=%f\n",i,t[i]);
} |
voilà les modification effectuées, bien entendu le programme ne compile pas, sinon ce topic n'existerai, je fais appel à votre savoir pour m'aiguiller dans la réalisation de mon devoir. Merci
Code:
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
| #include <stdio.h>
#include <stdlib.h>
main()
{
int i,j,k,n;
char t[100],x;
printf("Combien de chaînes souhaitez vous trier (<100)?\n");
scanf("%d",&n);
printf("Saisir les chaînes :\n");
for(i=0;i<n;i++)
{
printf("t[%d]=",i);
scanf("%s",t[i]);
}
/*Tri*/
for(i=0;i<0;i++)
{
x=t[i];
k=i;
for(i=i+1;j<n;j++)
if(x>t[j])
{
x=t[j];
k=j;
}
if(k!=i)
{
t[k]=t[i];
t[i]=x;
}
}
/*Sortie des valeurs du tableau trié*/
for(i=0;i<n;i++)
printf("t[%d]=%s\n",i,t[i]);
} |