[ Foro de C ]

Recursividad

20-Sep-2020 00:35
Invitado (Edgar)
1 Respuestas

Necesito ayuda, debo programar este fragmento de código de manera recursiva, ¿me pueden decir como podría hacerlo?


for(i=0;i<n;i++){
		for(j=0;j<fila;j++){
			for(k=0;k<columna;k++){
					aux[j][k]=aux2[j][k];
			}	
		}
		for(a=0;a<columna;a++){
			for(j=0;j<fila;j++){
				int suma=0;
				for(k=0;k<columna;k++){
					suma+=aux[j][k]*M[i][k][a];
				}
				aux2[j][a]=suma;
			}
		}
	}


 


24-Sep-2020 15:05
Nacho Cabanes (+84)

Generalmente, el "truco" es cambiar los "for" por llamadas en las que el valor del parámetro va disminuyendo en una unidad en cada pasada.

Pero hacerlo en un programa como este, con 3 "for" anidados, me parece que tiene poco sentido. Se pierde en rendimiento y (más aún) en legibilidad.

Si te obligan a hacerlo, empieza por un ejercicio más sencillo para entenderlo, como sumar los elementos de un array.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)