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

Problema básico en C+

Estas en el tema de Problema básico en C+ en el foro de C/C++ en Foros del Web. Holas. El problema es el siguiente: Crear un programa en el cual el usuario ingrese una serie de numeros en la cual las series de ...
  #1 (permalink)  
Antiguo 19/03/2016, 20:45
 
Fecha de Ingreso: marzo-2016
Mensajes: 3
Antigüedad: 8 años, 1 mes
Puntos: 0
Problema básico en C+

Holas.

El problema es el siguiente: Crear un programa en el cual el usuario ingrese una serie de numeros en la cual las series de numeros no debe superar los 100000 y ademas hacer que el programa termine cuando el usuario ingrese un "0" (El ejercicio es mucho mas extenso pero esta es la parte ya me pone problemas)

Lo que me pasa es que al compilar y ejecutar todo va bien, pero al momento de ingresar un 0 como digito, me salta que el programa ha dejado de funcionar ni idea por que.

Código C++:
Ver original
  1. int main()
  2. {
  3.     int n,i,elementosA;
  4.      int A[MAX];
  5.  
  6.  
  7.  i=0;
  8.     elementosA=0;
  9.     do
  10.     {
  11.         scanf("%d",&n);
  12.         A[i]=n;
  13.  
  14.         ++i;
  15.         ++elementosA;     //Llevar la cuenta de los elementos introducidos
  16.  
  17.     } while (i<=100000 && n != 0);
  18.  
  19.      sprintf("%d",elementosA);
  20.  
  21.     return 0;
  22. }

Lo reviso y lo reviso, pero no encuentro el problema.
Gracias de antemano.
  #2 (permalink)  
Antiguo 20/03/2016, 04:34
Avatar de xKuZz  
Fecha de Ingreso: febrero-2015
Ubicación: nullptr
Mensajes: 183
Antigüedad: 9 años, 2 meses
Puntos: 27
Respuesta: Problema básico en C+

El problema es el sprintf, desde luego esa no es una manera correcta de usarlo así que creo que lo quieres hacer es printf.

Mientras que sprintf mete en el char* del primer argumento el formato del segundo argumento con la lista opcional de argumentos printf muestra por pantalla con el formato del primer argumento la lista opcional de argumentos a partir del segundo.

Por último, no sé si es el comportamiento que intentas que tenga tu programa pero si ingresas el cero el valor va a ser introducido en el arreglo y va a sumar en el contador de números que llevas utilizados.
  #3 (permalink)  
Antiguo 20/03/2016, 16:24
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: Problema básico en C+

Yo añadiría un detalle tonto.

si tienes

Código C:
Ver original
  1. int A[MAX];

presupongo que en el programa tienes algo tal que

Código C:
Ver original
  1. #define MAX 100000

entonces por qué no reutilizas esa constante aquí también?

Código C:
Ver original
  1. } while (i<=100000 && n != 0);

Y luego otra cosa. ¿Te has fijado que i y elementosA siempre van a tener el mismo valor? Lo mismo te sobra una de las dos variables.

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.

Etiquetas: int, numero, programa
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 15:01.