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

Problema código de sucesión en C

Estas en el tema de Problema código de sucesión en C en el foro de C/C++ en Foros del Web. Buenas: Se me pide lo siguiente: dado el número 3 realizar la sucesión número 3,33,333, hasta 10 sucesiones. Mi programa se compila sin problema pero ...
  #1 (permalink)  
Antiguo 16/04/2016, 16:27
 
Fecha de Ingreso: abril-2016
Mensajes: 1
Antigüedad: 8 años, 7 meses
Puntos: 0
Problema código de sucesión en C

Buenas:

Se me pide lo siguiente: dado el número 3 realizar la sucesión número 3,33,333, hasta 10 sucesiones.

Mi programa se compila sin problema pero al ejecutar no me aparece nada y no tengo idea de que puede ser, ya que soy nuevo en esto.

Cualquier ayuda es bien recibida

Código c:
Ver original
  1. #include <stdio.h>
  2.    
  3. int main ()
  4. {
  5.     int N;
  6.     int mi, ma, inc;
  7.    
  8.     mi  = 3;                /* valor minimo */
  9.     ma = 3333333333;        /* valor maximo */
  10.     inc = 10;               /* incremento */
  11.    
  12.     N = mi;
  13.    
  14.     while(N <= ma) {
  15.         printf("%10d\n", N);
  16.         N = (mi * inc)+3;
  17.     }
  18. }
  #2 (permalink)  
Antiguo 16/04/2016, 17:03
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 9 meses
Puntos: 3
Respuesta: Problema código de sucesión en C

No haces nada de lo que te piden. Realmente entiendo que te piden que con un bucle hagas 10 iteraciones y dentro coloques otro bucle que se repita hasta el valor del índice del primero. Algo asi:
Código C++:
Ver original
  1. int n=3,i,j;
  2. for (i=0;i <10;i++){
  3.    for (j=0;j <=i;j++)
  4.       printf ("%d",n);
  5.    printf ("\n");
  6. }
  #3 (permalink)  
Antiguo 16/04/2016, 17:07
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: Problema código de sucesión en C

int es un tipo que almacena, en tu caso, números con signo en 32 bits. Esto es 1 bit para el signo y 31 bits para el número.

El número más alto alcanzable con 31 bits es: 2^31=2.147.483.648, y tu estás intentando almacenar en ma el número 3.333.333.333, que es mayor.

¿Qué sucede entonces? que estás poniendo, en este caso, un 1 en el bit del signo, por lo que el número pasa a ser automáticamente negativo, lo que implica que ma<N

Puedes aprovechar los 32 bits si pasas a usar números sin signo con unsigned int.

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.
  #4 (permalink)  
Antiguo 17/04/2016, 21:10
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
Respuesta: Problema código de sucesión en C

La solución de aguml es la más robusta. No tienes que pelearte con los bits de un int. Sospecho que de hecho esa es la solución "esperada" del problema.
  #5 (permalink)  
Antiguo 18/04/2016, 01:04
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: Problema código de sucesión en C

Cita:
Iniciado por Instru Ver Mensaje
La solución de aguml es la más robusta. No tienes que pelearte con los bits de un int. Sospecho que de hecho esa es la solución "esperada" del problema.
Mi intención no era que se pelease con bits sino que entendiese el motivo por el que su programa falla :)
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.
  #6 (permalink)  
Antiguo 18/04/2016, 09:07
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
Respuesta: Problema código de sucesión en C

Cita:
Iniciado por eferion Ver Mensaje
Mi intención no era que se pelease con bits sino que entendiese el motivo por el que su programa falla :)
eferion, mi comentario no fue en detrimento de tu explicación.
Saludos
  #7 (permalink)  
Antiguo 18/04/2016, 09:35
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: Problema código de sucesión en C

Cita:
Iniciado por Instru Ver Mensaje
eferion, mi comentario no fue en detrimento de tu explicación.
Saludos
Eso me pareció jejeje. El comentario lo puse para evitar malentendidos... ya he tenido demasiadas malas experiencias relacionadas con la falta de expresividad de los foros
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.

Etiquetas: Ninguno
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




La zona horaria es GMT -6. Ahora son las 11:30.