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