elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C][?]Como determinar que imprima ciertos caracteres
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [C][?]Como determinar que imprima ciertos caracteres  (Leído 4,366 veces)
Jaes

Desconectado Desconectado

Mensajes: 37


Ver Perfil
[C][?]Como determinar que imprima ciertos caracteres
« en: 5 Noviembre 2012, 03:32 am »

Saludos,

Me gustaría saber (si alguien me puede echar una mano) en como determinar que imprima ciertos carácteres. Por ejemplo:

Código:
#define MIN 0
#define MAX 10

void uno() {
int i=0;
for(i=MIN; i<MAX; i++) {
printf("%c\n", i);
}
}

Esto imprimiria el valor de i de 0 a 9  de la tabla ascii (Esto son caracteres de control).Me interesa el algoritmo.

¿Cómo debería hacer para que imprimiera de 0 a 2 y de 6 a 9? ¿Es sencillo o estoy intentando subir peldaños demasiado rápido?

Gracias de antemano.


En línea

¿Que qué le debo a los Hombres? A todos ellos Les debo justicia.

Al país de donde vengo debo educación.

¿..Y a Dios..? a Dios le debo la muerte.
naderST


Desconectado Desconectado

Mensajes: 625



Ver Perfil WWW
Re: [C][?]Como determinar que imprima ciertos caracteres
« Respuesta #1 en: 5 Noviembre 2012, 03:34 am »

Haces dos bucles uno del 0 al 2 y el otro del 6 al 9?


En línea

Jaes

Desconectado Desconectado

Mensajes: 37


Ver Perfil
Re: [C][?]Como determinar que imprima ciertos caracteres
« Respuesta #2 en: 5 Noviembre 2012, 04:25 am »

Gracias, ahora lo veo claro.
En línea

¿Que qué le debo a los Hombres? A todos ellos Les debo justicia.

Al país de donde vengo debo educación.

¿..Y a Dios..? a Dios le debo la muerte.
Jaes

Desconectado Desconectado

Mensajes: 37


Ver Perfil
Re: [C][?]Como determinar que imprima ciertos caracteres
« Respuesta #3 en: 5 Noviembre 2012, 04:53 am »

Y gracias por su rápida respuesta.

Código:
for(i=MIN; i<MAX; i++) {
                for(j=MIN2; j<MAX2; j++){
printf("%c\n%c\n", i,j);
                }
}
Ahora veo que así planteado no es la solución.Imprimiría 0,6,0,7 ..

¿O entendí mal?

Yo tenía pensado, de 0 a 9, si "i" es menor a 3 y  mayor a 5, imprimir caracter...

¿Podría ser algo así?
En línea

¿Que qué le debo a los Hombres? A todos ellos Les debo justicia.

Al país de donde vengo debo educación.

¿..Y a Dios..? a Dios le debo la muerte.
BatchianoISpyxolo

Desconectado Desconectado

Mensajes: 166


Ver Perfil
Re: [C][?]Como determinar que imprima ciertos caracteres
« Respuesta #4 en: 5 Noviembre 2012, 05:02 am »

Y gracias por su rápida respuesta.

Código:
for(i=MIN; i<MAX; i++) {
                for(j=MIN2; j<MAX2; j++){
printf("%c\n%c\n", i,j);
                }
}
Ahora veo que así planteado no es la solución.Imprimiría 0,6,0,7 ..

¿O entendí mal?

Yo tenía pensado, de 0 a 9, si "i" es menor a 3 y  mayor a 5, imprimir caracter...

¿Podría ser algo así?

Ahí no se sabe que es MIN2 y MAX2

De todas formas es mejor dos bucles separados que hacer un bucle con 10 comparaciones cuando sabes que de 3 a 5 no quieres hacer nada.
En línea

Puede que desees aprender a programar desde 0: www.espascal.es
Jaes

Desconectado Desconectado

Mensajes: 37


Ver Perfil
Re: [C][?]Como determinar que imprima ciertos caracteres
« Respuesta #5 en: 5 Noviembre 2012, 05:13 am »

¿Esto debería funcionar?

Para probar el código pongo valores que si imprimira
Código:
for(i=48; i<91; i++) {
               if ((i>=48)&&(i<58)&&(i>=65)&&(i<91)){
printf("%c\n", i);
}
          }
¿Esto debería funcionar? no me imprime nada.
En línea

¿Que qué le debo a los Hombres? A todos ellos Les debo justicia.

Al país de donde vengo debo educación.

¿..Y a Dios..? a Dios le debo la muerte.
HRSLASH

Desconectado Desconectado

Mensajes: 33



Ver Perfil
Re: [C][?]Como determinar que imprima ciertos caracteres
« Respuesta #6 en: 5 Noviembre 2012, 05:35 am »

Para que funcione hay que cambiar el AND logico del medio por un OR logico, de esta manera imprimira
el numero si este es >= 48 Y < 58 O >= 65 Y < 91

Código
  1. for(i=48; i<91; i++) {
  2.    if (((i>=48)&&(i<58)) || ((i>=65)&&(i<91)))
  3.        printf("%d\n", i);
  4. }
  5.  

Saludos!
En línea

La televisión es para mi el medio mas instructivo y cultural que conozco, cuando la prenden me voy a leer
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: [C][?]Como determinar que imprima ciertos caracteres
« Respuesta #7 en: 5 Noviembre 2012, 13:45 pm »

¿Cómo debería hacer para que imprimiera de 0 a 2 y de 6 a 9? ¿Es sencillo o estoy intentando subir peldaños demasiado rápido?
Para que lo veas mejor he puesto a imprimir enteros:
Código
  1. #include <stdio.h>
  2.  
  3. void uno(int MIN, int MAX) ;
  4. void uno(int MIN, int MAX) {
  5. int i;
  6. for(i=MIN; i<=MAX; i++) {
  7. printf("%d   ", i);
  8. }
  9. }
  10.  
  11. int main(){
  12.    int  MIN1 =0,MAX1 =2,MIN2=6,MAX2= 9;
  13.    uno(MIN1,MAX1);
  14.    puts("\n");
  15.    uno(MIN2,MAX2);
  16.    return 0;
  17. }
Saludos!.
« Última modificación: 5 Noviembre 2012, 13:48 pm por leosansan » En línea

Jaes

Desconectado Desconectado

Mensajes: 37


Ver Perfil
Re: [C][?]Como determinar que imprima ciertos caracteres
« Respuesta #8 en: 5 Noviembre 2012, 15:22 pm »

Muchas gracias por responder.

Como proponía NaderST el Código de Leonsansan funciona a la perfección. Pero me voy a quedar con el de Hrlash.


Gracias por esta bienvenida tan luminosa.
Mi agradecimiento más sincero por la ayuda recibida,
En línea

¿Que qué le debo a los Hombres? A todos ellos Les debo justicia.

Al país de donde vengo debo educación.

¿..Y a Dios..? a Dios le debo la muerte.
BatchianoISpyxolo

Desconectado Desconectado

Mensajes: 166


Ver Perfil
Re: [C][?]Como determinar que imprima ciertos caracteres
« Respuesta #9 en: 5 Noviembre 2012, 16:02 pm »

El problema del ciclo de HRSLASH es la comprobación del if en cada ciclo. El código es correcto y si tu pregunta era como saltar esos números pues con el if perfecto.

En este caso el testeo del if no importa demasiado porque son 43 iteraciones del for, pero si tuvieras 5 millones de iteraciones sí tendría más importancia.
En línea

Puede que desees aprender a programar desde 0: www.espascal.es
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines