package main
import (
"fmt"
"math/rand"
"time"
)
const (
ROWS = 3
COLS = 4
)
func printMatrix(matrix [][]rune) {
for _, row := range matrix {
for _, ch := range row {
// %3s gives right-aligned width of 3, like setw(3)
fmt.Printf("%3s", string(ch))
}
fmt.Println()
}
}
func getRandomCharacter() rune {
characters := []rune("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
return characters[rand.Intn(len(characters))]
}
func initializeMatrixWithRandomCharacters(rows, cols int) [][]rune {
matrix := make([][]rune, rows)
for i := range matrix {
matrix[i] = make([]rune, cols)
for j := range matrix[i] {
matrix[i][j] = getRandomCharacter()
}
}
return matrix
}
func main() {
rand.Seed(time.Now().UnixNano())
matrix := initializeMatrixWithRandomCharacters(ROWS, COLS)
printMatrix(matrix)
}
/*
run:
7 m c f
A u r 3
p B X K
*/