my/go/l10.go

60 lines
No EOL
1.2 KiB
Go

package main
import (
"fmt"
"strings"
"slices"
"unicode"
)
func polz() (string, string) {
fmt.Println("Введите первое")
var pol1 string
fmt.Scanln(&pol1)
fmt.Println("Введите второе")
var pol2 string
fmt.Scanln(&pol2)
return pol1, pol2
}
func vowel(vow string) int {
tolower := strings.ToLower(vow)
wovel := 0
for _, r := range tolower {
if strings.ContainsRune("aeiyou", r) {
wovel++
}
}
return wovel
}
func recovery(rec string) string {
runes := []rune(rec)
for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 {
runes[i], runes[j] = runes[j], runes[i]
}
return string(runes)
}
func anag(rec string, recc string) bool {
runes := []rune(strings.ToLower(rec))
runi := []rune(strings.ToLower(recc))
slices.Sort(runes)
slices.Sort(runi)
return slices.Compare(runes, runi) == 0
}
func format(pof1 string) string {
runes := []rune(pof1)
runes[0] = unicode.ToUpper(runes[0])
return string(runes)
}
func main() {
po1, po2 := polz()
fmt.Println("Вот колличество гласных в первом", vowel(po1))
fmt.Println("Вот слова", po1, po2)
fmt.Println("Вот перевернутое первое слово", recovery(po1))
fmt.Println(anag(po1, po2))
fmt.Println(format(po1))
}