Дана последовательность натуральных чисел (одно число в строке), завершающаяся числом 0. Определите среднее значение элементов этой последовательности (без учета последнего нуля). В этой задаче нельзя использовать глобальные переменные. Функция получает данные, считывая их с клавиатуры, а не получая их в виде параметра. В программе результат записывается в две переменные, которые передаются в функцию по ссылке. Гарантируется, что последовательность содержит хотя бы одно число (кроме нуля)
void input(int &sum, int &cnt) {
int v;
cnt = -1;
sum = 0;
do {
cin >> v;
++cnt;
sum += v;
} while(v);
}
int main() {
int sum, cnt;
input(sum, cnt);
cout << double(sum) / cnt;
} Вариант, когда функция возвращает сумму и количество.
Из текста вопроса абсолютно непонятно, что именно должна возвращать функция в двух параметрах. Если вычислять среднее сразу в функции и возвращать среднее и количество (как сделала нейросеть в соседнем ответе), то это лишено смысла, т.к. это самое количество нигде не будет использовано.