Autor
|
Tema: [C][?]Como determinar que imprima ciertos caracteres (Leído 7,243 veces)
|
Jaes
Desconectado
Mensajes: 37
|
Saludos, Me gustaría saber (si alguien me puede echar una mano) en como determinar que imprima ciertos carácteres. Por ejemplo: #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
|
Haces dos bucles uno del 0 al 2 y el otro del 6 al 9?
|
|
|
En línea
|
|
|
|
Jaes
Desconectado
Mensajes: 37
|
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
Mensajes: 37
|
Y gracias por su rápida respuesta. 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
Mensajes: 166
|
Y gracias por su rápida respuesta. 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
|
|
|
|
Jaes
Desconectado
Mensajes: 37
|
¿Esto debería funcionar? Para probar el código pongo valores que si imprimira 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
Mensajes: 33
|
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 for(i=48; i<91; i++) { if (((i>=48)&&(i<58)) || ((i>=65)&&(i<91))) }
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
Mensajes: 1.314
|
¿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:#include <stdio.h> void uno(int MIN, int MAX) ; void uno(int MIN, int MAX) { int i; for(i=MIN; i<=MAX; i++) { printf("%d ", i); } } int main(){ int MIN1 =0,MAX1 =2,MIN2=6,MAX2= 9; uno(MIN1,MAX1); puts("\n"); uno(MIN2,MAX2); return 0; }
Saludos!.
|
|
« Última modificación: 5 Noviembre 2012, 13:48 pm por leosansan »
|
En línea
|
|
|
|
Jaes
Desconectado
Mensajes: 37
|
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
Mensajes: 166
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
como determinar de que color es un pixel en Visual Basic 6
Programación Visual Basic
|
luiselectronico
|
1
|
3,103
|
11 Noviembre 2005, 09:00 am
por Slasher-K
|
|
|
Transformador: Cómo determinar el voltaje de entrada?
Electrónica
|
RicardoTV
|
5
|
16,554
|
8 Agosto 2007, 19:12 pm
por -Xenon-
|
|
|
Como determinar los nombre de dominio tras una IP.
Hacking
|
callerom
|
4
|
9,552
|
22 Julio 2011, 21:03 pm
por callerom
|
|
|
como ago un programa en c++ que imprima numeros de una cantidad a otra?
Programación C/C++
|
RED_REACH
|
4
|
3,065
|
12 Octubre 2012, 14:08 pm
por leosansan
|
|
|
¿Cómo determinar que sólo acepte 8 dígitos?
« 1 2 »
Programación C/C++
|
Juancho25
|
18
|
18,609
|
2 Noviembre 2012, 15:56 pm
por rir3760
|
|