index — ti25-glauchau-code @ 95fb20a9c30ec4c29b0f8eba4058d61cb32dad89

Meine Lösungen (oder auch nicht) für die Programmieraufgaben in der TI25 an der Staatlichen Studienakademie Glauchau

gpt/2025-12-10/sorting_letters_recursive.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
package main

import "fmt"

func permute(nums []byte, start int) {
    if start == len(nums) {
        fmt.Printf("%c\n", nums)
        return
    }

	n := len(nums)
    for i := start; i < n; i++ {
        nums[start], nums[i] = nums[i], nums[start]
        permute(nums, start+1)
        nums[start], nums[i] = nums[i], nums[start]
    }
}

func letterSlice(n int) []byte {
    if n <= 0 {
        return []byte{}
    }
    if n > 26 {
        n = 26
    }

    res := make([]byte, n)
    for i := 0; i < n; i++ {
        res[i] = 'a' + byte(i)
    }
    return res
}

func getIntFromUser() int {
	var n int
	//fmt.Print("Enter a number: ")
	_, err := fmt.Scan(&n)
	if err != nil {
		fmt.Println("Error reading number:", err)
		panic("Fehler")
	}

	return n
}


func main() {
	//size := getIntFromUser()
    nums := letterSlice(10)
    permute(nums, 0)
}