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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / extraer submatrices en: 27 Diciembre 2020, 18:23 pm
Hola, necesito hacer un programa en c que extraiga submatrices cuadradas (k*k) de una matriz dada (m*n), calculando la suma de los elementos de cada submatriz y devuelva la submatriz con la suma mayor.
 
he hecho un codigo pero no me da lo que esperaba. en este caso k=2.

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int suma(int m[2][2]);
  4.  
  5. void main(void){
  6.  int matriz[5][4]={{1,2,2,4},{3,9,4,5},{6,7,2,1},{4,4,3,1},{0,0,3,8}};
  7.  int submatriz[2][2];
  8.  int i,j,fila,columna,mayorsuma;
  9.  
  10.  fila=0;columna=0;
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  mayorsuma=15;
  17.  for(i=0;i<5;i++){
  18.    for(j=0;j<4;j++){
  19.  
  20.      for(int k=i;k<i+2;k++){
  21.        for(int p=j;p<j+2;p++){
  22.  
  23.          submatriz[k][p]= matriz[k][p];
  24.  
  25.          if(suma(submatriz)> mayorsuma){
  26.            mayorsuma=suma(submatriz);
  27.            fila=k;
  28.            columna=p;}
  29.        }
  30.      }
  31.    }
  32.  }
  33.  
  34. printf ("mayorsuma   = %d \n",mayorsuma  );
  35. printf ("fila   = %d \n",fila  );
  36. printf ("columna   = %d \n",columna  );        
  37.  
  38.  
  39.  
  40.  
  41.  
  42. }
  43. int suma(int m[2][2]){
  44.   int i,j;
  45.   int sum=0;
  46.  
  47.   for(i=0;i<2;i++){
  48.     for(j=0;j<2;j++){
  49.       sum=sum+m[i][j];
  50.     }
  51.   }
  52. return (sum);
  53. }
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines