gpt/2025-10-14/boolische_funktionen.go (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
package main
import (
"fmt"
)
func createArr(nptr *int) *[][]int {
arr := make([][]int, (1 << *nptr))
for i := range arr {
arr[i] = make([]int, *nptr)
}
for row := 1; row < len(arr); row++ {
copy(arr[row], arr[row-1])
column:
for column := range arr[row]{
if arr[row][column] == 0 {
arr[row][column] = 1
break column
} else {
arr[row][column] = 0
}
}
}
return &arr
}
func konjunktion(arrptr *[][]int) *[4]int {
var result [4]int
for row := range *arrptr {
result[row] = (*arrptr)[row][0]*(*arrptr)[row][1]
}
return &result
}
func xor(arrptr *[][]int) *[4]int {
var result [4]int
for row := range *arrptr {
result[row] = ((*arrptr)[row][0]+(*arrptr)[row][1]) % 2
}
return &result
}
func main() {
n := 2
arrptr := createArr(&n)
fmt.Println(*arrptr)
konjunktionptr := konjunktion(arrptr)
xorptr := xor(arrptr)
fmt.Printf("konjunktion: %d\nxor: %d\n", *konjunktionptr, *xorptr)
}
|