elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / [Ayuda] Programa en C en: 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
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <stdio.h>
  4. #include <math.h>
  5.  
  6. /* Problema : Corazón = Cáscara: Dada una Matriz de [n x m] de enteros, con n >= 3 y m >=3, determinar si la
  7. sumatoria de las celdas límites (cáscara) es igual que la sumatoria las celdas del interior (todas menos las
  8. límites). Por ejemplo, para la siguiente matriz de (4x4) */
  9.  
  10. using namespace std;
  11.  
  12. const int N = 3;
  13. const int M = 3;
  14. int carga (int x);
  15. int carga (int x) /* Funcion que permite cargar toda la matriz*/
  16. {
  17.  int register k,l;
  18.  for (k=0;k<N;k++)
  19.  {
  20.    for (l=0;l<M;l++)
  21.    {
  22.      printf ("Ingrese un numero ");
  23.      scanf ("%f",x);
  24.    }
  25.  }
  26. }
  27.  
  28.  
  29. int main(int argc, char *argv[])
  30. {
  31.    bool b;
  32.    int arr[N][M];
  33.    int cascara, corazon;
  34.    int num;
  35.    int c,d;
  36.    int register i,j ;
  37.    cascara = 0;
  38.    corazon = 0;
  39.    carga (num);
  40.    for (i=0; i<N; i+1)
  41.    {
  42.      for (j=0; j<M; j+1)
  43.      {
  44.        cascara = (cascara + arr[i][j]);
  45.        if ((i>0 && i<N-1)&&(j>0)&&(j<M-1))
  46.        {
  47.          corazon = (corazon + arr[i][j]);
  48.        }
  49.      }
  50.    }
  51.    cascara = (cascara - corazon);
  52.    if (cascara == corazon)
  53.    {
  54.      b = 1;
  55.    }
  56.    else
  57.    {
  58.      b = 0;
  59.    }
  60.  
  61.    system("PAUSE");
  62.    return EXIT_SUCCESS;
  63. }
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines