Помогите написать код на c++ - Вопросы по С+

Вопрос Помогите написать код на c++

Регистрация
7 Дек 2013
Сообщения
90
Репутация
0
Спасибо
0
Монет
0
Дана последовательность натуральных чисел (одно число в строке), завершающаяся числом 0. Определите среднее значение элементов этой последовательности (без учета последнего нуля). В этой задаче нельзя использовать глобальные переменные. Функция получает данные, считывая их с клавиатуры, а не получая их в виде параметра. В программе результат записывается в две переменные, которые передаются в функцию по ссылке. Гарантируется, что последовательность содержит хотя бы одно число (кроме нуля)
 
Регистрация
27 Дек 2013
Сообщения
111
Репутация
0
Спасибо
0
Монет
0
#include <iostream>

using namespace std;

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;
} Вариант, когда функция возвращает сумму и количество.

Из текста вопроса абсолютно непонятно, что именно должна возвращать функция в двух параметрах. Если вычислять среднее сразу в функции и возвращать среднее и количество (как сделала нейросеть в соседнем ответе), то это лишено смысла, т.к. это самое количество нигде не будет использовано.
 
Регистрация
17 Авг 2013
Сообщения
86
Репутация
6
Спасибо
1
Монет
0
#include <iostream>
using namespace std;

void calculateAverage(double& average, int& count) {
int num;
int sum = 0;
count = 0;

// Считываем числа до тех пор, пока не встретим 0
while (true) {
cin >> num;
if (num == 0) {
break;
}
sum += num;
count++;
}

// Вычисляем среднее значение
if (count > 0) {
average = static_cast<double>(sum) / count;
} else {
average = 0;
}
}

int main() {
double average;
int count;

calculateAverage(average, count);

cout << "Среднее значение: " << average << endl;
cout << "Количество чисел: " << count << endl;

return 0;
}
 
Регистрация
21 Авг 2013
Сообщения
71
Репутация
0
Спасибо
1
Монет
0
#include <iostream>
using namespace std;

void calculateAverage(double& average, int& count) {
int num;
int sum = 0;
count = 0;

// We read the numbers until we meet 0
while (true) {
cin >> num;
if (num == 0) {
break;
}
sum += num;
count++;
}

// Calculate the average value
if (count > 0) {
average = static_cast<double>(sum) / count;
} else {
average = 0;
}
}

int main() {
double average;
int count;

calculateAverage(average, count);

cout << "Average: " << average << endl;
cout << "Number of numbers: " << count << endl;

return 0;
}
 
Сверху Снизу