//1. Determinar si los caracteres de cada palabra de una frase ingresada est�n ordenados ascendente o descendentemente. Ejemplo:
//Frase => ABC XAZD zyx GrE Bcx.
//Resp=> Ascend. No orden Descend. No ord. Ascend.
#include
#include
#include
#define EXT 100
int main ()
{ //inicio de main
void orden (); //prototipo de la funcion que revisa el orden de las palabras
orden (); //llamado a la funcion orden
getch (); //pausa el programa hasta presionar una tecla
return 0;
} //fin de main
void orden ()
{ //inicio de la funcion orden
char frase,c;
int p = 0;
char ac[EXT]; //definicion de una cadena
int modo; //variable para llevar la cuenta
int i; //variable para los ciclos for
int cc=0; //variables para comparacion
int cd=0; //variables para comparacion
printf ("\nIngrese una frase y finalize con un . : \n\n");
do {
c=getchar(); //ingreso de la frase letra por letra
ac [p] = c; //pasamos las letras a una cadena
p++;
if ((c == ' ')||(c == '.')){ //condicion para detectar un espacio o un punto final y proceder a comprobar
for (i=0;i<p-2;i++){ //ciclo para comprobar ingreso por ingreso
if (ac[i]>ac[i+1]){ //condicion para ver si es descendente
modo = 1;
cc++;
}
if (ac[i]<ac[i+1]){ //condicion para ver si es descendente
modo = 0;
cd++;
}
if (cc==cd){ //condicion para anular las 2 anteriores si es necesario
modo = 2;
break;break;
}
}//fin del for
//impresiones segun el modo
if (modo == 2 )
printf (" No orden ");
if (modo == 1)
printf (" Descendente ");
if (modo == 0)
printf (" Ascendente ");
p=cc=cd=0;
} //fin del iff
}while( c != '.'); //finaliza el ingreso si se ingresa un .
} //fin de la funcion orden

