init
This commit is contained in:
parent
1c45ae8e54
commit
6055c0bec5
Binary file not shown.
After Width: | Height: | Size: 341 KiB |
|
@ -0,0 +1,76 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"encoding/csv"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
func main() {
|
||||
fmt.Println("Enter Number:")
|
||||
var number int
|
||||
_, err := fmt.Scanf("%d", &number)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
matrice := make([][]int, number+1)
|
||||
|
||||
|
||||
for i := 0; i <= number; i++ {
|
||||
matrice[i] = make([]int, number+1)
|
||||
for j := 0; j <= number; j++ {
|
||||
matrice[i][j] = (j * i) % number
|
||||
}
|
||||
}
|
||||
|
||||
// Save it
|
||||
if err := csvExport(matrice); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// output it
|
||||
fmt.Print("\t")
|
||||
for i := 0; i <= number; i++ {
|
||||
fmt.Print(i, "\t")
|
||||
}
|
||||
fmt.Println()
|
||||
|
||||
for rownumber, row := range matrice {
|
||||
fmt.Print(rownumber, "\t")
|
||||
for _, col := range row {
|
||||
fmt.Print(col, "\t")
|
||||
}
|
||||
fmt.Println()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func csvExport(data [][]int) error {
|
||||
file, err := os.Create("result.csv")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
writer := csv.NewWriter(file)
|
||||
defer writer.Flush()
|
||||
|
||||
//Prepare
|
||||
dataStrings := make([][]string, len(data))
|
||||
for in := range data {
|
||||
dataStrings[in] = make([]string, len(data[in]))
|
||||
for in2, val2 := range data[in] {
|
||||
dataStrings[in][in2] = strconv.Itoa(val2)
|
||||
}
|
||||
}
|
||||
|
||||
for _, value := range dataStrings {
|
||||
if err := writer.Write(value); err != nil {
|
||||
return err // let's return errors if necessary, rather than having a one-size-fits-all error handler
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,1,2,3,4,5,6,7,8,9,10,11,12,13,0
|
||||
0,2,4,6,8,10,12,0,2,4,6,8,10,12,0
|
||||
0,3,6,9,12,1,4,7,10,13,2,5,8,11,0
|
||||
0,4,8,12,2,6,10,0,4,8,12,2,6,10,0
|
||||
0,5,10,1,6,11,2,7,12,3,8,13,4,9,0
|
||||
0,6,12,4,10,2,8,0,6,12,4,10,2,8,0
|
||||
0,7,0,7,0,7,0,7,0,7,0,7,0,7,0
|
||||
0,8,2,10,4,12,6,0,8,2,10,4,12,6,0
|
||||
0,9,4,13,8,3,12,7,2,11,6,1,10,5,0
|
||||
0,10,6,2,12,8,4,0,10,6,2,12,8,4,0
|
||||
0,11,8,5,2,13,10,7,4,1,12,9,6,3,0
|
||||
0,12,10,8,6,4,2,0,12,10,8,6,4,2,0
|
||||
0,13,12,11,10,9,8,7,6,5,4,3,2,1,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
|
Loading…
Reference in New Issue