This commit is contained in:
konrad 2018-12-07 00:14:28 +01:00
parent 1c45ae8e54
commit 6055c0bec5
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
5 changed files with 92 additions and 0 deletions

BIN
200x.ods Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 KiB

1
go.mod Normal file
View File

@ -0,0 +1 @@
module git.kolaente.de/konrad/multiplication-table

76
main.go Normal file
View File

@ -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
}

15
result.csv Normal file
View File

@ -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
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0
3 0 2 4 6 8 10 12 0 2 4 6 8 10 12 0
4 0 3 6 9 12 1 4 7 10 13 2 5 8 11 0
5 0 4 8 12 2 6 10 0 4 8 12 2 6 10 0
6 0 5 10 1 6 11 2 7 12 3 8 13 4 9 0
7 0 6 12 4 10 2 8 0 6 12 4 10 2 8 0
8 0 7 0 7 0 7 0 7 0 7 0 7 0 7 0
9 0 8 2 10 4 12 6 0 8 2 10 4 12 6 0
10 0 9 4 13 8 3 12 7 2 11 6 1 10 5 0
11 0 10 6 2 12 8 4 0 10 6 2 12 8 4 0
12 0 11 8 5 2 13 10 7 4 1 12 9 6 3 0
13 0 12 10 8 6 4 2 0 12 10 8 6 4 2 0
14 0 13 12 11 10 9 8 7 6 5 4 3 2 1 0
15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0