Buenas. Hice un programa que pone una matriz en 0, la llena por teclado y la imprime (SOLO si el campo que analiza no es 0). El asunto es que ejecuta todo lo mas bien, pero cuando termina de mostrar el ultimo campo lleno, aparece el clasico mensaje "Nombre.exe ha detectado un problema y debe cerrarse".
Trate de analizarlo y buscarle el error pero no lo puedo encontrar. Si me dan una mano estaria agradecido de mil maneras.
Aqui el codigo:
#include <stdio.h>
#include <stdlib.h>
/*******************************F U N C I O N E S**************************************/
int CereoMatriz(int Super[][40]);
int CargoMatriz(int Super[][40]);
int MostrarMatriz(int Super[][40]); //MOSTRAR UNICAMENTE LOS ESPACIOS QUE TIENEN ALGO ESCRITO
int CereoVector(int Vect[], int Max);
int main()
{
int Super[120][40];
CereoMatriz(Super);
CargoMatriz(Super);
MostrarMatriz(Super); //MOSTRAR UNICAMENTE LOS ESPACIOS QUE TIENEN ALGO ESCRITO
system("pause");
return 0;
}
/*******************************F U N C I O N E S**************************************/
/**C E R E O M A T R I Z**/
int CereoMatriz(int Super[][40])
{
int i, j;
for(i = 0; i <=120 ; i ++){
for (j = 0; j <=40 ; j ++)
Super[i][j]=0;
}
return 0;
}
/***************************************************************************************/
/**C A R G O M A T R I Z**/
int CargoMatriz(int Super[][40]){
int prod, columna, fila;
printf("\nIngrese su sucursal (Ingrese sucursal 0 para terminar): ");
fflush(stdin);
scanf("%d",&columna);
while(columna!=0){
printf("\nIngrese el numero del producto que quieres: ");
fflush(stdin);
scanf("%d",&fila);
printf("\nOk, ahora ¿Cuantos productos deseas? :");
fflush(stdin);
scanf("%d",&prod);
Super[fila-1][columna-1]+=prod;
printf("\nIngrese su sucursal (Ingrese sucursal 0 para terminar): ");
fflush(stdin);
scanf("%d",&columna);
}
return 0;
}//FIN DE FUNCION
/***************************************************************************************/
/**M O S T R A R M A T R I Z**/ //MOSTRAR UNICAMENTE LOS ESPACIOS QUE TIENEN ALGO ESCRITO
int MostrarMatriz (int Super[][40]){
int i, j;
for ( i = 0 ; i <= 120 ; i++)
for ( j = 0 ; j <= 40 ; j ++){
if (Super[i][j]!=0)
printf("\n\nSucursal %d: %d",j+1, Super[i][j]);
}
return 0;
}//FIN DE FUNCION