golang 多維數組


具體的題目如下:(就是將多維數組的行列互換)

A multi-dimensional array is an array of arrays. 2-dimensional arrays are the most commonly used. They are used to store data in a tabular manner.

Consider following 2D array, which is of the size 3×53×5. For an array of size N×MN×M, the rows and columns are numbered from 00 to N1N−1 and columns are numbered from 00 to M1M−1, respectively. Any element of the array can be accessed by arr[i][j]arr[i][j] where 0i<N0≤i<N and 0j<M0≤j<M. For example, in the following array, the value stored at arr[1][3]arr[1][3] is 1414.

enter image description here

golang 代碼如下:

其中定義二維數組沒有什么復雜的,在賦值的過程中我們需要先定義一個一維數組 carray := make([]int, column, column),然后在賦值給外面的數組 array[i] =carray

下來就是字符串拼接和其他的語言不太一樣,先定義一個var buffer bytes.Buffer, 然后寫數據buffer.WriteString("ddd"),最后就是輸出 buffer.String()

還有就是一些數值和字符的互相轉換用到了包strconv

package main

import "fmt"
import "strconv"
import "bytes"


func main() {
  var row,column int
  fmt.Scanln(&row,&column)
  var array = make([][]int,row,row)
  for i:=0;i<row;i++{
      carray := make([]int, column, column)
      for j:=0;j<column;j++{
      var columnValue string
      fmt.Scan(&columnValue)
      //fmt.Println(columnValue)
      intv,_:= strconv.Atoi(columnValue)
      carray[j] = intv
      }
      array[i] =carray
  }
  //fmt.Println(array)
  var buffer bytes.Buffer 
  for i:=0;i<column;i++{
      buffer.Reset()
      for j:=0;j<row;j++{
      buffer.WriteString(strconv.Itoa(array[j][i])+" ")
      }
      fmt.Println(buffer.String())
  }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM