index — ti25-glauchau-code @ 84e78eca15b801867099c7109dd36e94fbbc8898

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

gpt/2025-10-07/numbers.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
package main

import(
	"fmt"
	"bufio"
	"log"
	"os"
	"strconv"
)

func readNumber() int {
	for {
		scanner := bufio.NewScanner(os.Stdin)
		scanner.Scan()
		err := scanner.Err()
		if err != nil {
			log.Println(err)
			continue
		}
		number, err := strconv.ParseInt(scanner.Text(), 0, 64)
		if err != nil {
			log.Println(err)
			continue
		}
		return int(number)
	}
}

func leftmost(number int) *int {
	for ; number >= 10; number=number/10 {
	}
	return &number
}

func main(){
	var maximum int
	var sum int
	var quersum int
	poolSize := readNumber()

	for i := 0; i < poolSize; i++ {
		currentNumber := readNumber()
		if currentNumber > maximum {
			maximum = currentNumber
		}
		sum = sum + currentNumber
		quersum = quersum + *(leftmost(currentNumber))
	}
	fmt.Printf("Maximum: %d\nSumme: %d\nQuersumme: %d\n\n", maximum, sum, quersum)
}