#include <stdio.h>
int suma(int m[3][3], int i, int j, int f, int c, int s);
void main(){
int mat[3][3]={3,3,3,3,4,3,3,3,3};
int i, j, f,c,s;
i=0;
j=0;
s=0;
f=3;
c=3;
s=suma(mat,0,0,3,3,0);
printf("suma=%d:",s);
}
int suma(int m[3][3], int i, int j, int f, int c, int s){
if (i<f && j<c){ // estamos dentro de la fila i y vamos sumando columnas j=j+1 hasta j==c
suma(m, i, j+1, f, c, s+m[i][j]);
}
else if (i<f && j==c){ // j==c -->hemos llegado al final de una fila --> fila+1 y reseteamos j=0
suma(m, i+1, 0, f, c, s);
}
else if (i==f && j==0) { // hemos sumado todas las filas y columnas i==f
return s;
}
}
Recursión: Suma recursiva de matriz
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario