l10.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package main
  2. import (
  3. "fmt"
  4. "strings"
  5. "slices"
  6. )
  7. func polz() (string, string) {
  8. fmt.Println("Введите первое")
  9. var pol1 string
  10. fmt.Scanln(&pol1)
  11. fmt.Println("Введите второе")
  12. var pol2 string
  13. fmt.Scanln(&pol2)
  14. return pol1, pol2
  15. }
  16. func vowel(vow string) int {
  17. tolower := strings.ToLower(vow)
  18. wovel := 0
  19. for _, r := range tolower {
  20. if strings.ContainsRune("aeiyou", r) {
  21. wovel++
  22. }
  23. }
  24. return wovel
  25. }
  26. func recovery(rec string) string {
  27. runes := []rune(rec)
  28. for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 {
  29. runes[i], runes[j] = runes[j], runes[i]
  30. }
  31. return string(runes)
  32. }
  33. func anag(rec string, recc string) bool {
  34. runes := []rune(strings.ToLower(rec))
  35. runi := []rune(strings.ToLower(recc))
  36. slices.Sort(runes)
  37. slices.Sort(runi)
  38. return slices.Compare(runes, runi) == 0
  39. }
  40. func main() {
  41. po1, po2 := polz()
  42. fmt.Println("Вот колличество гласных в первом", vowel(po1))
  43. fmt.Println("Вот слова", po1, po2)
  44. fmt.Println("Вот перевернутое первое слово", recovery(po1))
  45. fmt.Println(anag(po1, po2))
  46. }