¿Cómo sumar todos los valores de una matriz bidimensional en Go?
Para sumar los valores de una matriz bidimensional en Go vamos a implementar el siguiente pseudocódigo.
def sumar_matrix_bidimensional(A):
total = 0
for i = 0 to len(A)
for j = 0 to len(A[i])
total += A[i][j]
return total
En Go podemos crear un tipo personalizado, este a partir de una matriz muldimensional.
package main
import (
"fmt"
)
// creamos un tipo personalizado que almacene una matriz bidimensional
type Nums [][]int
// agregamos la funcionalidad de sumar todos sus valores
func (nums Nums) Sumar() int {
total := 0
for i := 0; i < len(nums); i++ {
for j := 0; j < len(nums[i]); j++ {
total += nums[i][j]
}
}
return total
}
func main() {
nums := Nums{
[]int{2, 3, 4},
[]int{6, 5, 3},
[]int{12, 3, 2},
}
fmt.Println(nums)
fmt.Println("La suma de todos los valores es:", nums.Sumar())
}
Salida.
[[2 3 4] [6 5 3] [12 3 2]]
La suma de todos los valores es: 40