package main import ( "fmt" "math" "math/rand" ) func main() { longFunc() } func longFunc() { // Создаем массив случайных чисел nums := make([]int, 100) for i := 0; i < len(nums); i++ { nums[i] = rand.Intn(1000) } fmt.Println("Исходный массив:", nums) // Выполняем сортировку пузырьком for i := 0; i < len(nums)-1; i++ { for j := i + 1; j < len(nums); j++ { if nums[i] > nums[j] { nums[i], nums[j] = nums[j], nums[i] } } } fmt.Println("Отсортированный массив:", nums) // Вычисляем среднее значение sum := 0 for i := 0; i < len(nums); i++ { sum += nums[i] } average := float64(sum) / float64(len(nums)) fmt.Printf("Среднее значение: %.2f\n", average) // Вычисляем медиану median := 0 if len(nums)%2 == 0 { median = (nums[len(nums)/2-1] + nums[len(nums)/2]) / 2 } else { median = nums[len(nums)/2] } fmt.Println("Медиана:", median) // Вычисляем стандартное отклонение deviation := 0.0 for i := 0; i < len(nums); i++ { deviation += (float64(nums[i]) - average) * (float64(nums[i]) - average) } deviation = deviation / float64(len(nums)) deviation = math.Sqrt(deviation) fmt.Printf("Стандартное отклонение: %.2f\n", deviation) // Выполняем сортировку пузырьком повторно :-) for i := 0; i < len(nums)-1; i++ { for j := i + 1; j < len(nums); j++ { if nums[i] > nums[j] { nums[i], nums[j] = nums[j], nums[i] } } } fmt.Println("Отсортированный массив:", nums) // Выполняем сортировку пузырьком в третий раз для закрепления пройденного материала for i := 0; i < len(nums)-1; i++ { for j := i + 1; j < len(nums); j++ { if nums[i] > nums[j] { nums[i], nums[j] = nums[j], nums[i] } } } fmt.Println("Отсортированный массив:", nums) // Выполняем сортировку пузырьком в последний раз for i := 0; i < len(nums)-1; i++ { for j := i + 1; j < len(nums); j++ { if nums[i] > nums[j] { nums[i], nums[j] = nums[j], nums[i] } } } fmt.Println("Отсортированный массив:", nums) }