当前位置: > > > > 创建具有所需维度和值的矩阵的 Go 函数会跳过所有其他索引
创建具有所需维度和值的矩阵的 Go 函数会跳过所有其他索引
来源:stackoverflow
2024-04-25 12:00:31
0浏览
收藏
亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《创建具有所需维度和值的矩阵的 Go 函数会跳过所有其他索引》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。
问题内容
我正在尝试编写一个函数来创建一个矩阵,用户可以在其中输入矩阵的维度以及其中的值。我设法得到了结果,但我注意到,在输入值时,该函数会忽略每两个索引之一并用 0 填充它。我正在绞尽脑汁,但这对我来说没有意义…
package main
import "fmt"
func makeMatrix(n int, m int) [][]int {
matrix := make([][]int, n)
for i := range matrix {
matrix[i] = make([]int, m)
}
fmt.Println("Enter elements : ")
for i := range matrix {
fmt.Scanf("%d", &matrix[i])
for j := range matrix[i] {
fmt.Scanf("%d", &matrix[i][j])
}
}
fmt.Println(matrix)
return matrix
}
func main() {
var (
n, m int
)
fmt.Println("Number of lines : ")
fmt.Scan(&n)
fmt.Println("Number of columns: ")
fmt.Scan(&m)
makeMatrix(n, m)
}
正确答案
删除此行,它应该按您的预期工作。
fmt.Scanf("%d", &matrix[i])
您已经在 matrix[i][j] 上执行 Scanf,它将读取 i 的每次迭代和 j 的每次迭代 – 您不需要在 matrix[i] 上读取/Scanf。
终于介绍完啦!小伙伴们,这篇关于《创建具有所需维度和值的矩阵的 Go 函数会跳过所有其他索引》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~米云公众号也会发布Golang相关知识,快来关注吧!
