Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Вывод среднего числа


Автор: Malburg 25.12.2019, 15:19
Возраст группы людей, указанной массивом, известен . Выясните, каков средний возраст в группе и процент людей, чей возраст находится в диапазоне от k до m лет.
но что то плохо код работает.. Помгатие решить с неправильными числами или что не так написал

#include <iostream>
using namespace std;
int main()
{
    int n, k, m;

    cout << "Enter n, k, m= ";
    cin >> n >> k >> m;
    int* age = new int[n];

    for (int i = 0; i < n; i++) {
        cout << "age[" << i + 1 << "]\n";
        cin >> age[i];
    }
    float mean = 0;
    int qInLimit = 0;
    for (int i = 0; i < n; i++) {
        mean += age[i];
        if (age[i] >= k && age[i] <= m) qInLimit++;
    }
    mean /= n;
    cout << "mean=" << mean << endl << "in limit: " << qInLimit * 100.0 / n << endl;
    return 0;
}

Автор: Oldshelf 27.12.2019, 11:15
Код

        mean += (float)age[i];

Автор: Utug 14.3.2020, 16:34
В чем проблема? У меня в CodeBlocks все работает.
Код

#include <iostream>
#include <cstdlib>
using namespace std;

int main()
{
    int n, k, m;

    //cout << "Enter n, k, m= ";
    //cin >> n >> k >> m;
    n = 5;
    k = 40;
    m = 60;

    int* age = new int[n];

    for(int i = 0; i < n; i++)
    {
        age[i] = rand()%100;
        cout << "age[" << i << "] = " << age[i] << "\n";
    }
    float mean = 0;
    int qInLimit = 0;
    for(int i = 0; i < n; i++)
    {
        mean += age[i];
        if(age[i] >= k && age[i] <= m) qInLimit++;
    }
    mean /= n;
    cout << "mean=" << mean << "\n";
    cout << "In limit: " << qInLimit * 100.0 / n << "%\n";
    return 0;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)