Нужно определить среднее значение. Выдает ошибку "Программа выводит ответ в неверном формате"

Условие задачи: Определите среднее значение всех элементов последовательности, завершающейся числом 0. Сам ноль в последовательность не входит. Использовать массивы в данной задаче нельзя.

Входные данные: Вводится последовательность целых чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак её окончания.

Мой код:

using namespace std;
int main() {
    float sa = 0.0;
    float count = 0.0;
    float summa = 0.0;
    int x;
    cin >> x;
    while (x > 0) {
        summa += x;
        count++;
        cin >> x;
    }
    if (x == 0) {
        sa = summa / count;
        cout << sa;
        return 0;
    }
}

Ответы (1 шт):

Автор решения: user1715296

Из условия следует, что задана последовательность целых чисел, а данный код обрабатывает только положительные. Если в псоледовательности есть отрицательное число программа ничего не выведет, оттого и ошибка в формате вывода.

→ Ссылка