Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Que tan habiles son en C

Estas en el tema de Que tan habiles son en C en el foro de C/C++ en Foros del Web. uno sencillo programa en C que solicite 4 digitos e imprima los digitos por separado....
  #1 (permalink)  
Antiguo 15/02/2008, 00:08
Avatar de robereload666  
Fecha de Ingreso: diciembre-2007
Mensajes: 16
Antigüedad: 16 años, 5 meses
Puntos: 2
Sonrisa Que tan habiles son en C

uno sencillo
programa en C que solicite 4 digitos e imprima los digitos por separado.
  #2 (permalink)  
Antiguo 15/02/2008, 03:05
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 4 meses
Puntos: 606
Re: Que tan habiles son en C

Hay que tener cara dura para retar al resto a demostrar sus conocimientos haciendo los ejercicios, cuando eres TÚ quien los tienes que hacer para demostrar TUS conocimientos.
  #3 (permalink)  
Antiguo 15/02/2008, 03:23
Avatar de Olizaldu2  
Fecha de Ingreso: agosto-2007
Mensajes: 58
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Que tan habiles son en C

Buenas, solo una pregunta: ¿Estás de broma?

Esto es lo más básico. Que la gente que no lo sepa, y le interese se busque un manual que casi te viene hecho. Ciao
  #4 (permalink)  
Antiguo 15/02/2008, 08:53
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 18 años
Puntos: 28
Re: Que tan habiles son en C

Cita:
Iniciado por Malenko Ver Mensaje
Hay que tener cara dura para retar al resto a demostrar sus conocimientos haciendo los ejercicios, cuando eres TÚ quien los tienes que hacer para demostrar TUS conocimientos.
¡¡¡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
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
  #5 (permalink)  
Antiguo 15/02/2008, 10:48
Avatar de robereload666  
Fecha de Ingreso: diciembre-2007
Mensajes: 16
Antigüedad: 16 años, 5 meses
Puntos: 2
Mensaje Re: Que tan habiles son en C

Cita:
Iniciado por Olizaldu2 Ver Mensaje
Buenas, solo una pregunta: ¿Estás de broma?

Esto es lo más básico. Que la gente que no lo sepa, y le interese se busque un manual que casi te viene hecho. Ciao
Cita:
Iniciado por Malenko Ver Mensaje
Hay que tener cara dura para retar al resto a demostrar sus conocimientos haciendo los ejercicios, cuando eres TÚ quien los tienes que hacer para demostrar TUS conocimientos.
Cita:
Iniciado por _Lucifer_ Ver Mensaje
¡¡¡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 :)
  #6 (permalink)  
Antiguo 15/02/2008, 14:20
 
Fecha de Ingreso: febrero-2008
Mensajes: 11
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Que tan habiles son en C

me confundí..

Última edición por mArss; 15/02/2008 a las 14:31
  #7 (permalink)  
Antiguo 15/02/2008, 14:26
 
Fecha de Ingreso: febrero-2008
Mensajes: 11
Antigüedad: 16 años, 3 meses
Puntos: 0
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]);
    }

}
  #8 (permalink)  
Antiguo 15/02/2008, 14:32
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 5 meses
Puntos: 24
Re: Que tan habiles son en C

Cita:
Iniciado por mArss Ver Mensaje
ayyy!! ahi va el correcto:

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();
}
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.
__________________
Grupos de Música
Pop Music Stars
  #9 (permalink)  
Antiguo 15/02/2008, 14:35
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 5 meses
Puntos: 24
Re: Que tan habiles son en C

Cita:
Iniciado por mArss Ver Mensaje
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]);
    }

}
Sigue sin ser correcto. Prueba a introducir una cadena de mas de 4 caracteres y tendrás problemas.
__________________
Grupos de Música
Pop Music Stars
  #10 (permalink)  
Antiguo 15/02/2008, 15:19
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 18 años
Puntos: 28
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:
  #11 (permalink)  
Antiguo 15/02/2008, 16:01
 
Fecha de Ingreso: febrero-2008
Mensajes: 11
Antigüedad: 16 años, 3 meses
Puntos: 0
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]);
    }

}
  #12 (permalink)  
Antiguo 15/02/2008, 16:06
 
Fecha de Ingreso: febrero-2008
Mensajes: 11
Antigüedad: 16 años, 3 meses
Puntos: 0
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..
  #13 (permalink)  
Antiguo 16/02/2008, 01:21
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 5 meses
Puntos: 24
Re: Que tan habiles son en C

Cita:
Iniciado por mArss Ver Mensaje
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..
Tu solución no es igual a la de robereload666, ya que el utilizaba un array de enteros y tu un array de caracteres.

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.
__________________
Grupos de Música
Pop Music Stars
  #14 (permalink)  
Antiguo 16/02/2008, 08:07
 
Fecha de Ingreso: febrero-2008
Mensajes: 11
Antigüedad: 16 años, 3 meses
Puntos: 0
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
  #15 (permalink)  
Antiguo 16/02/2008, 10:28
Avatar de robereload666  
Fecha de Ingreso: diciembre-2007
Mensajes: 16
Antigüedad: 16 años, 5 meses
Puntos: 2
De acuerdo Re: Que tan habiles son en C

q creen jojo logre hacerlo jojo :p staba demasiado sencillo

Código:
#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;
}
saludos!!!

Última edición por robereload666; 16/02/2008 a las 13:13
  #16 (permalink)  
Antiguo 16/02/2008, 13:10
Avatar de robereload666  
Fecha de Ingreso: diciembre-2007
Mensajes: 16
Antigüedad: 16 años, 5 meses
Puntos: 2
Pregunta Re: Que tan habiles son en C

Cita:
Iniciado por _Lucifer_ Ver Mensaje
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:
#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;
}
mi duda esta en k cuando escribo numeros mayores a 23,000 se debe utilizar long
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
  #17 (permalink)  
Antiguo 16/02/2008, 13:26
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 5 meses
Puntos: 24
Re: Que tan habiles son en C

Cita:
Iniciado por robereload666 Ver Mensaje
mi duda esta en k cuando escribo numeros mayores a 23,000 se debe utilizar long
stube investigando y menciona algo d n vez d int q sea long, me pueden aclarar esa duda? gracias.
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"
__________________
Grupos de Música
Pop Music Stars
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 04:19.