l10.go 1.2 KB

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