Programa crashea luego de ingresar valores por teclado [C]

Iniciado por S4ms3pi0l__, 14 Enero 2018, 05:01 AM

0 Miembros y 1 Visitante están viendo este tema.

S4ms3pi0l__

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".


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
int n, x, i, a=0, b=0, parcela[20][2];
do{
printf("Ingrese la cantidad de parcelas: ");
scanf("%d",&n);
}while(n<=0 || n>=21);
system("cls");
for(i=0;i<=n;i++){
printf("Parcela #%d ",i+1);
do{
printf("\nIngrese la cantidad de naranjas: ");
scanf("%d",&parcela[0][0]);
}while(parcela[0][0]<=0);
do{
printf("Ingrese la cantidad de mandarinas: ");
scanf("%d",&parcela[0][1]);
}while(parcela[0][1]<=0);
a+=parcela[0][0];
b+=parcela[0][1];
parcela[i][x]=parcela[0][0]+parcela[0][1];
system("cls");
}
system("cls");
printf("Total produccion naranjas: %d ",a);
printf("\nTotal produccion mandarinas: %d ",b);
for(i=1;i<=n;i++){
printf("\nProduccion total de Parcela #%d: %d ",i, parcela[i][x]);
}
return 0;
}

engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.