ho cercato di fare un algoritmo per ordinare una stringa
ha il problema che se scrivi piu di -MAX_C- va ad alterare caselle poste
dopo la fine dell'array con risultati imprevedibili(vedi funzione gets).
spero possa esserti utile,ciao.
codice:
#include<stdio.h>
#include<string.h>
#include<conio.h>
#define MAX_C 10
void main()
{
char z[MAX_C];
printf("Inserisci una stringa \n");
gets(z);
int i;
char temp;
int diff;
int lung =(int)strlen(z);
if(lung >MAX_C)
{
printf("\nstringa troppo lunga");
printf("\npremere un tasto per uscire");
}
else
{
do
{
diff=0;
for(i=0;i<(lung-1);i++)
{
if(z[i]>z[i+1])
{
temp=z[i];
z[i]=z[i+1];
z[i+1]=temp;
diff=1;
}
}
}while(diff == 1);
printf("La stringa ordinata e %s",z);
}
getch();
}