uno sencillo
programa en C que solicite 4 digitos e imprima los digitos por separado.
| ||||
Re: Que tan habiles son en C Cita: Cita: Cita:
Iniciado por _Lucifer_ ¡¡¡No sólo para retar a los demás, si no para retar a hacer semejante ejercicio!!! No creo que en este foro exista alguien con conocimientos suficientes como para hacer un ejercicio tan complicado como ese Ahora, dejando los sarcasmos a un lado (si, era sarcasmo)... @robereload666 : si tienes alguna duda con el ejercicio planteala y alguien seguramente e podrá orientar, aunque como dice Olizaldu2, eso lo encuentras en cualquier manual de C. Saludos hola pues esto va pa todos, no tiene mucho que me registre, y pues estube leyendo las condiciones de uso y decia que no puedo plantear un tema como: "ayuda" "urgente" y pues no se me ocurrio otra forma jejeje pues 1000 disculpas soy novato en C y pues quisiera saber cmo se resuelve esto, segun yo es asi pero no me funka. y ahora k dicen lo d manual pues eso chekar 1000 disculpas jojojo. Que pida 4 digitos y que imprima los 4 digitos por separado librerias<> void main(){int num[4],i; printf("escribe numero de 4 digito"); scanf("%d",&num); for(i=0;i<4-1;i++){ printf("\n%d",num[i]); } getch(); } alguien me puede ayudar?? gracias :) |
| |||
Re: Que tan habiles son en C ayyy!! ahi va el correcto:
Código:
void main() { char num[4]; int i; printf("escribe numero de 4 digitos"); gets(num); for(i=0; i<4-1 ;i++) { printf("\n%c",num[i]); } } |
| ||||
Re: Que tan habiles son en C Cita: mArss me parece que te has precipitado.No creo que funcione porque estás intentado visualizar el valor de cuatro elementos de un array de tipo int, el cual solo tiene un valor (el del índice cero). Pista para solución: Si lo guardas como entero hay que realizar varias divisiones. Si lo guardas como cadena ni siquiera eso. |
| ||||
Re: Que tan habiles son en C Ok...a todos los que están posteando soluciones como locos sin probar ni pensar lo que hacen les recomiendo que en vez de poner tanto código traten de orientar aportando ideas de modo que robereload666 pueda hacerlo por sus propios medios. @robereload666: esa es la única manera en la que puedes aprender, viendo ejemplos y haciendo las cosas por tus propios medios. Prueba alguna de la sugerencias que te han dado en el hilo así verás cual es más conveniente, correcta y cual no lo es. Cuando llegues a ese punto y sigues con alguna duda pregunta y seguramente no faltará quien quiera ayudarte (me incluyo). Saludos
__________________ Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba: |
| |||
Re: Que tan habiles son en C ayyy!! ahi va el correcto:
Código:
void main() { char num[4]; int i; printf("escribe numero de 4 digitos"); gets(num); for(i=0; i<4-1 ;i++) { printf("\n%c",num[i]); } } |
| |||
Re: Que tan habiles son en C perdón, no quise poner esa solucion.. no t diste cuenta d q era igual q la q posteó robereload666? pq no es correcto? nadie dijo q tuvieras q usar una cadena de más de 4 dígitos. Simplemente me dediqué a codificar el problema concreto q se planteó. Se q se podría recorrer en función del caracter fin d cadena.. |
| ||||
Re: Que tan habiles son en C Cita: Tu solución no es igual a la de robereload666, ya que el utilizaba un array de enteros y tu un array de caracteres.
Iniciado por mArss perdón, no quise poner esa solucion.. no t diste cuenta d q era igual q la q posteó robereload666? pq no es correcto? nadie dijo q tuvieras q usar una cadena de más de 4 dígitos. Simplemente me dediqué a codificar el problema concreto q se planteó. Se q se podría recorrer en función del caracter fin d cadena.. Un buen ejercicio para robereload666 sería pensar que es mejor. En cuanto a tu programa, no me refería a que recorrieras la cadena buscando el fin de cadena, sino a que si la has definido con tamaño de 4 no debes pasarte de 4, por lo que si el usuario por ejemplo escribe "prueba" no cabe en tu array y machaca la pila. Esto normalmente puede provocar que el programa muera por una violación de memoria, que se pierda la dirección de retorno, que se machaque otra variable de la pila, etc. |
| |||
Re: Que tan habiles son en C No, a la q yo me refería era a mi primera respuesta, en la que dejé bien claro que era una confusión, y es la misma en la que aparecía un vector de enteros (y no de caracteres como dices después) y que tu mismo me hiciste rectificar antes de tiempo con "mArss me parece que te has precipitado. No creo que funcione porque estás intentado visualizar el valor de cuatro elementos de un array de tipo int, el cual solo tiene un valor (el del índice cero)." Y a ver si dejamos de ponernos tikismikis, no es una solución totalmente depurada, pero sí es una solución q resuelve la duda q él plantea. Para tu problema, bastaría un bucle con strlen, pero lo considero obvio.. Saludos |
| ||||
Re: Que tan habiles son en C q creen jojo logre hacerlo jojo :p staba demasiado sencillo
Código:
saludos!!! #include <stdio.h> #include <conio.h> int main (){ int A, A1, B, B1, C, C1, num; printf("dame un numero de 4 digitos: "); scanf("%d", &num); if(num>999){ if(num<10000){ A=num/1000; A1=num%1000; B=A1/100; B1=A1%100; C=B1/10; C1=B1%10; printf("El primer digito es: %d \n" , A); printf("El Segundo digito es: %d \n", B); printf("El tercer digito es: %d \n", C); printf("El cuarto digito es: %d \n", C1); }else printf("El numero %d tiene mas de 4 digitos \n", num); }else printf("El numero %d tiene menos de 4 digitos \n", num); getch(); return 0; } Última edición por robereload666; 16/02/2008 a las 13:13 |
| ||||
Re: Que tan habiles son en C Cita: --------------------------------------------------------------------------------------------------------
Iniciado por _Lucifer_ Ok...a todos los que están posteando soluciones como locos sin probar ni pensar lo que hacen les recomiendo que en vez de poner tanto código traten de orientar aportando ideas de modo que robereload666 pueda hacerlo por sus propios medios. @robereload666: esa es la única manera en la que puedes aprender, viendo ejemplos y haciendo las cosas por tus propios medios. Prueba alguna de la sugerencias que te han dado en el hilo así verás cual es más conveniente, correcta y cual no lo es. Cuando llegues a ese punto y sigues con alguna duda pregunta y seguramente no faltará quien quiera ayudarte (me incluyo). Saludos ahora si me nace una duda, nos maracaron hacer uno d 5 digitos con numero palidromos ejemplo 12321 ya lo tngo hecho :), es similar a este, solo q comparo si el 1ero se igual al ultimo y y el segundo al penultimo. aki sta el codigo
Código:
mi duda esta en k cuando escribo numeros mayores a 23,000 se debe utilizar long#include <stdio.h> #include <conio.h> int main (){ int A, A1, B, B1, C, C1, D, D1, num; printf("dame un numero de 5 digitos: "); scanf("%d", &num); if(num>9999){ if(num<100000){ A=num/10000; A1=num%10000; B=A1/1000; B1=A1%1000; C=B1/100; C1=B1%100; D=C1/10; D1=C1%10; if (A==D1){ if (B==D){ printf("El numero %d es Palindromo", num); }else printf("El numero %d no es Palindromo", num); }else printf("El numero %d no es Palidromo", num); }else printf("El numero %d tiene mas de 5 digitos \n", num); }else printf("El numero %d tiene menos de 5 digitos \n", num); getch(); return 0; } stube investigando y menciona algo d n vez d int q sea long, me pueden aclarar esa duda? gracias. Última edición por robereload666; 16/02/2008 a las 13:19 |
| ||||
Re: Que tan habiles son en C Cita: Los límites dependen de la arquitectura de la máquina.Para arquitectura de 16 bits es (2^15)-1=32767 y para arquitectura de 32 bits es (2^31)-1=2147483647 Para saber el límite en tu caso mira el valor de INT_MAX en el fichero "limits.h" |