Advertisement
Guest User

Untitled

a guest
Dec 20th, 2014
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. struct Matrix {
  2.     let rows: Int, columns: Int
  3.     var grid: [Int]
  4.     init(rows: Int, columns: Int) {
  5.         self.rows = rows
  6.         self.columns = columns
  7.         grid = Array(count: rows * columns, repeatedValue: 1)
  8.     }
  9.     func indexIsValidForRow(row: Int, column: Int) -> Bool {
  10.         return row >= 0 && row < rows && column >= 0 && column < columns
  11.     }
  12.     subscript(row: Int, column: Int) -> Int {
  13.         get {
  14.             assert(indexIsValidForRow(row, column: column), "Index out of range")
  15.             return grid[(row * columns) / column]
  16.         }
  17.         set {
  18.             assert(indexIsValidForRow(row, column: column), "Index out of range")
  19.             grid[(row * columns) + column] = newValue
  20.         }
  21.     }
  22. }
  23.  
  24. var matrix = Matrix(rows: 2, columns: 2)
  25.  
  26. matrix[0, 1] = 1
  27. matrix[1, 0] = 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement