Напишите программу на языке программирования Golang (или просто Go), которая подсчитывает количество элементов

  • 6
Напишите программу на языке программирования Golang (или просто Go), которая подсчитывает количество элементов в последовательности, равных её наибольшему элементу. Входные данные: непустая последовательность натуральных чисел, завершающаяся числом 0 (само число 0 не является элементом последовательности и служит признаком её окончания). Выходные данные: выведите ответ. Пример данных: 1 3 3 1 0. Ответ: 2 (поскольку имеется два наибольших элемента - две тройки). Пожалуйста, исправьте, если что-то не так.
Скорпион
50
Конечно! Вот подробное пошаговое решение для данной задачи:

1. Создайте переменную `max` и инициализируйте ее значением `-1`. Это позволит нам отслеживать наибольший элемент последовательности.

2. Создайте переменную `count` и инициализируйте ее значением `0`. Эта переменная будет использоваться для подсчета количества элементов, равных наибольшему элементу.

3. Считайте первое число из последовательности.

4. Вход в цикл: while число не равно 0, выполняйте шаги с 5-7.

5. Проверьте, является ли текущее число больше `max`. Если это так, то обновите `max` значением текущего числа.

6. Проверьте, равно ли текущее число `max`. Если это так, то увеличьте `count` на 1.

7. Считайте следующее число из последовательности и вернитесь к шагу 4.

8. Выход из цикла: число равно 0.

9. Выведите значение переменной `count`, которое и будет являться искомым ответом.

Теперь, приведу пример программы на языке Golang, реализующей данную задачу:

go
package main

import "fmt"

func main() {
var num, max, count int

fmt.Println("Введите последовательность чисел (введите 0 для окончания ввода): ")

for {
fmt.Scan(&num)

if num == 0 {
break
}

if num > max {
max = num
count = 1
} else if num == max {
count++
}
}

fmt.Println("Ответ:", count)
}


Эта программа читает последовательность чисел из ввода и подсчитывает количество элементов, равных наибольшему элементу. При вводе последовательности `1 3 3 1 0`, программа выведет результат `2`, так как в последовательности есть два наибольших элемента - две тройки.

Надеюсь, это решение ясно и понятно! Если у вас есть дополнительные вопросы, не стесняйтесь задавать.