Ayuda en un programa basico

Iniciado por JOSE23, 21 Febrero 2011, 00:22 AM

0 Miembros y 1 Visitante están viendo este tema.

JOSE23

NECESITO AYUDA PARA LA REALIZACION DE UN PROGRAMITA MUY BASICO.
ES EL SIGUIENTE:)

Para cada una de las letras mayúsculas del alfabeto (desde la B hasta la Z) mostrar todas las letras anteriores (hasta la A), en una línea de texto que diga (por ejemplo, para la H):
"Las letras anteriores a la H son: G,F,E,D,C,B,A"  (orden de letras descendente)   

Los códigos ASCII de las mayúsculas van del 65 (A) al 90 (Z) (se excluye la Ñ).

Lo tengo hecho pero al revés, de forma ascendente, y no se como hacerlo descendente; pego aquí el código que tengo.

#include <stdio.h>
// Función Principal
main ()
{
int i,j;
// El bucle "i", se va a repetir desde el valor 66(B) hasta el 90(Z)
for (i=66;i<=90;i++)
{
    printf("\nLetras anteriores a %c: ",i);
    /* DENTRO DE CADA REPETICION de "i", hemos de representar los caracteres
       que van del 65(A) al (i-1) (caracter anterior) con otro BUCLE (j). */
    for (j=65;j<=i-1;j++)
    {
    /* Con esto imprimimos todas las letras anteriores
    printf ("%c,",j);
}
}
fflush(stdin);
getchar();
}


drift_bit

#1
Hola JORIPICO, creo que este codígo realiza lo que quieres...
Fijate bien en el 2do For, en el ciclo anidado...
Tu problema era la forma en como recorrias para imprimir los datos...
Si te quedan dudas del codigo, enviame un PM, saludos!


#include <stdio.h>

main (){
   int i,j;

   for (i=66;i<=90;i++){
       printf("\nLetras anteriores a %c: ",i);
       for (j=i-1;j>=65;j--) //(j=65;j<=i-1;j++)
           printf ("%c,",j);
   }
   fflush(stdin);
   getchar();
}


PD: ese fflush, está demás y no es recomendable usarlos...
lee la wiki que publicó LittleHorse: http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

JOSE23

Muchas gracias por la solución, eres un crack.

Pirata LOL

como te respondieron anteriormente es la solución
si el codigo que subiste es correcto EL UNICO CAMBIO que debes hacer esta en el ciclo
for (j=i-1;j>=65;j--)  <<-- y lo imprimes asi deberia de dar :rolleyes:
[center[/center]