Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - GatitoCai93

#1
Programación C/C++ / [Ayuda] Programa en C
24 Julio 2014, 16:04 PM
Hola estaba programando en C unas cosas que tengo que presentar y como soy nuevo en C no se usar bien el dev c++. Acabo de hacer este algoritmo y me salta un error de "se ha producido una violacion de acceso a memoria" usando arreglos. Hace un tiempo el profesor me dijo algo sobre los arreglos diciendo que hay que usarlos de otra manera, porque de la manera que estaba en el teorico que dio habia que usarlo con puntero, y en C a puntero no lo vimos, si alguien me puede decir cual es el error de este codigo, le estaria muy agradecido! muchas gracias!

P/D: creo que el error esta en la funcion carga!

Código (c++) [Seleccionar]
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <math.h>

/* Problema : Corazón = Cáscara: Dada una Matriz de [n x m] de enteros, con n >= 3 y m >=3, determinar si la
sumatoria de las celdas límites (cáscara) es igual que la sumatoria las celdas del interior (todas menos las
límites). Por ejemplo, para la siguiente matriz de (4x4) */

using namespace std;

const int N = 3;
const int M = 3;
int carga (int x);
int carga (int x) /* Funcion que permite cargar toda la matriz*/
{
 int register k,l;
 for (k=0;k<N;k++)
 {
   for (l=0;l<M;l++)
   {
     printf ("Ingrese un numero ");
     scanf ("%f",x);
   }
 }
}


int main(int argc, char *argv[])
{
   bool b;
   int arr[N][M];
   int cascara, corazon;
   int num;
   int c,d;
   int register i,j ;
   cascara = 0;
   corazon = 0;
   carga (num);
   for (i=0; i<N; i+1)
   {
     for (j=0; j<M; j+1)
     {
       cascara = (cascara + arr[i][j]);
       if ((i>0 && i<N-1)&&(j>0)&&(j<M-1))
       {
         corazon = (corazon + arr[i][j]);
       }
     }
   }
   cascara = (cascara - corazon);
   if (cascara == corazon)
   {
     b = 1;
   }
   else
   {
     b = 0;
   }
     
   system("PAUSE");
   return EXIT_SUCCESS;
}