Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: JOSE23 en 21 Febrero 2011, 00:22 am



Título: Ayuda en un programa basico
Publicado por: JOSE23 en 21 Febrero 2011, 00:22 am
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();
}



Título: Re: Ayuda en un programa basico
Publicado por: drift_bit en 21 Febrero 2011, 03:20 am
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!

Código
  1. #include <stdio.h>
  2.  
  3. main (){
  4.    int i,j;
  5.  
  6.    for (i=66;i<=90;i++){
  7.        printf("\nLetras anteriores a %c: ",i);
  8.        for (j=i-1;j>=65;j--) //(j=65;j<=i-1;j++)
  9.            printf ("%c,",j);
  10.    }
  11.    fflush(stdin);
  12.    getchar();
  13. }
  14.  

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 (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html)


Título: Re: Ayuda en un programa basico
Publicado por: JOSE23 en 21 Febrero 2011, 16:02 pm
Muchas gracias por la solución, eres un crack.


Título: Re: Ayuda en un programa basico
Publicado por: Pirata LOL en 21 Febrero 2011, 19:32 pm
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: