Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Помогите написать код на C++

Дана последовательность натуральных чисел (одно число в строке), завершающаяся числом 0. Определите среднее значение элементов этой последовательности (без учета последнего нуля). В этой задаче нельзя использовать глобальные переменные. Функция получает данные, считывая их с клавиатуры, а не получая их в виде параметра. В программе результат записывается в две переменные, которые передаются в функцию по ссылке. Гарантируется, что последовательность содержит хотя бы одно число (кроме нуля)

По дате
По рейтингу
Аватар пользователя
Новичок
8мес
1234567891011121314151617181920
 #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;
} 

Вариант, когда функция возвращает сумму и количество.

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

Аватар пользователя
Просветленный
8мес
12345678910111213141516171819202122232425262728293031323334353637
 #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; 
} 
Аватар пользователя
Профи
8мес

так помочь или сделайте все за меня?