Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: S4ms3pi0l__ en 14 Enero 2018, 05:01 am



Título: Programa crashea luego de ingresar valores por teclado [C]
Publicado por: S4ms3pi0l__ en 14 Enero 2018, 05:01 am
Tengo un problema con mi programa. Hace un mes más o menos, había programado el siguiente código, lo publiqué aquí porque tenía un pequeño problemita y me ayudaron a resolverlo y funcionaba a la perfección. He cambiado de computadora y todo, pero ahora cuando ejecuto mi programa, crashea luego de ingresar un valor a las "mandarinas".

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(int argc, char *argv[]) {
  5. int n, x, i, a=0, b=0, parcela[20][2];
  6. do{
  7. printf("Ingrese la cantidad de parcelas: ");
  8. scanf("%d",&n);
  9. }while(n<=0 || n>=21);
  10. system("cls");
  11. for(i=0;i<=n;i++){
  12. printf("Parcela #%d ",i+1);
  13. do{
  14. printf("\nIngrese la cantidad de naranjas: ");
  15. scanf("%d",&parcela[0][0]);
  16. }while(parcela[0][0]<=0);
  17. do{
  18. printf("Ingrese la cantidad de mandarinas: ");
  19. scanf("%d",&parcela[0][1]);
  20. }while(parcela[0][1]<=0);
  21. a+=parcela[0][0];
  22. b+=parcela[0][1];
  23. parcela[i][x]=parcela[0][0]+parcela[0][1];
  24. system("cls");
  25. }
  26. system("cls");
  27. printf("Total produccion naranjas: %d ",a);
  28. printf("\nTotal produccion mandarinas: %d ",b);
  29. for(i=1;i<=n;i++){
  30. printf("\nProduccion total de Parcela #%d: %d ",i, parcela[i][x]);
  31. }
  32. return 0;
  33. }
  34.  


Título: Re: Programa crashea luego de ingresar valores por teclado [C]
Publicado por: engel lex en 14 Enero 2018, 05:10 am
este codigo no está bien... nunca inicializas la variable x, por ende la misma seguramente contiene basura de la ram y está apuntando tu array a un lugar cualquiera e invalido, causando un error de memoria...

por otro lado, los array no necesitan & para ser pasados como referencia, ellos por naturaliza son punteros