-
Notifications
You must be signed in to change notification settings - Fork 0
/
t.data
72 lines (60 loc) · 1.98 KB
/
t.data
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package main
import (
"fmt"
"math/rand"
"time"
)
func init() {
rand.Seed(time.Now().UnixNano())
}
type User struct {
fullName string
age int
income int
}
// generateAge сгенерируй возраст от 18 до 70 лет.
func generateAge() int {
// используй rand.Intn()
return 18 + rand.Intn(70-18+1)
}
// generateIncome сгенерируй доход от 0 до 500000.
func generateIncome() int {
// используй rand.Intn()
return rand.Intn(500000)
}
// generateFullName сгенерируй полное имя. например "John Doe".
func generateFullName() string {
names := []string{"bob", "anie", "max", "maria", "alex"}
s_names := []string{"chester", "bolt", "dexter", "ivanov", "pushkin"}
// создай слайс с именами и слайс с фамилиями.
// используй rand.Intn() для выбора случайного имени и фамилии.
return names[rand.Intn(len(names))] + " " + s_names[rand.Intn(len(s_names))]
}
func main() {
// Сгенерируй 1000 пользователей и заполни ими слайс users.
var users []User
for i := 0; i < 1000; i++ {
users = append(users, User{generateFullName(), generateAge(), generateIncome()})
}
MiddleAge := 0
MiddleIncome := 0
// Выведи средний возраст пользователей.
for i := range users {
MiddleAge += users[i].age
}
fmt.Println("Средний возраст = ", MiddleAge/len(users))
// Выведи средний доход пользователей.
for i := range users {
MiddleIncome += users[i].income
}
MiddleIncome = MiddleIncome / len(users)
fmt.Println("Средний доход = ", MiddleIncome)
userCount := 0
// Выведи количество пользователей, чей доход превышает средний доход.
for _, v := range users {
if v.income > MiddleIncome {
userCount += 1
}
}
fmt.Println("Кол-во людей = ", userCount)
}