Realizar un programa que suma de manera recursiva los elementos de una matriz de 2 columnas y 2 filas. El algoritmo debe tener los siguientes elementos:
1. Declaración de dos valores constantes enteras Fila y Columna
2. Una función recursiva Sumar que retorne un entero, debe recibir como parámetro un arreglo bidimensional y dos enteros (Fila y Columna). Debe realizar las siguientes acciones:
a. Imprimir el valor de la Fila y Columna
b. Validar si el valor de la Fila y Columna es igual a cero si es asi ha de retornar el elemento del arreglo en la posición 0,0.
c. Si no se cumple la validación anterior se ha de validar si el valor de la columna es menor que cero si es así debe retornar el valor de la invocación de la función Sumar pasándole el arreglo, el valor de la Fila menos 1 y la posición 1.
d. Si no se cumple la condición anterior se ha de retornar el arreglo posición Fila, Columna más la invocación de la función Sumar pasándole el arreglo, la fila y la columna menos 1.
3. Un procedimiento Cargar_Datos que cargue los valores del arreglo con números aleatorios, debe recibir como parámetro un arreglo y dos enteros (Fila y Columna).
4. Un procedimiento Imprimir_Datos , que imprima los datos del arreglo debe recibir como parámetro un arreglo y dos enteros (Fila y Columna).
5. Un procedimiento principal que contenga los siguientes elementos:
a. Declaración de un arreglo de dos filas dos columna
b. Invocación del procedimiento Cargar_Datos para cargar los valores del arreglo, debe pasar el arreglo y los valores de Fila y Columna.
c. Invocación del procedimiento Imprimir_Datos para imprimir los valores del arreglo.
d. Imprimir el valor de la suma de los elementos del arreglo mediante la invocación de la función Sumar.
Código:
#include <stdio.h>
#include <iostream>
using namespace std ;
int sumaR(int mat[][2], int fil, int col){//problema no deve ir todo aqui
printf("En columna = %d\n",col);
printf("En fila = %d\n",fil);
if (col==0 && fil==0){
return mat[0][0];
}else if (col<0){
return sumaR(mat, fil-1, 1);
}else{
return mat[fil][col] + sumaR(mat, fil, col-1);
}
}
int main(){
int A[2][2];
int i=0,j;
for(i=0;i<2;i++){
printf("----Ingrese numero entero en la fila %d----\n",i+1);
j=0;
for(j=0;j<2;j++){
printf("Ingrese numero entero en la columna %d\n",j+1);
scanf("%d",&A[i][j]);
}
}
printf("La suma recursiva de los elementos es: %d\n",sumaR(A,1,1));
system ("pause");
return 0;
}
como podemos ver donde e puesto el comentario tengo problemas porque como entiendo que me lo piden es en diferentes funciones no en una sola pero solo haci lo puedo hacer haci que necesito ayuda de como pasar a funciones separadas.
o en caso de que este bien que es lo que nesesita para terminarlo

