【问题标题】:looping through a 2D Array diagonally对角线循环通过 2D 数组
【发布时间】:2020-04-27 03:13:20
【问题描述】:

我正在编写一个函数,该函数应该通过对角线(左上角到右下角)循环二维数组。但是,代码不会添加到外部 while 循环(i),它保持为 0。arr 是 9X9

    var i = 0
    var j = 0

    while(i < arr.count-1){
        while (j < arr.count-1) {


            print("i = \(i) --- j = \(j)")
            if(i == j){

                sumDiagonalLeft += arr[j][i]

                print(sumDiagonalLeft)

                if(arr[j][i] == 1){
                    informationUsed += 1
                    arr[i][j] = 2
                }
            }

         j += 1

        }
        i += 1
    }

感谢您的宝贵时间:)

【问题讨论】:

    标签: swift loops matrix


    【解决方案1】:

    试试这个,

    var array:[[Int]] = []
    
    array.append([1,2,3,4,5,6,7,8,9])
    ....
    array.append([1,2,3,4,5,6,7,8,9])
    
    for (index, element) in array.enumerated(){
        for (innerIndex,innerElement) in element.enumerated(){
            print(innerElement) // you can do your logics here 
        }
    }
    

    【讨论】:

    • 感谢您的帮助!我很感激:)
    • 很高兴为您提供帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-23
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 2020-10-28
    相关资源
    最近更新 更多