Среднее арифметическое

Уровень сложности:

Разработать функцию, в которую передаются в качестве аргументов массив типа float и его размер. Функция должна возвращать среднее арифметическое элементов массива.

Результат работы программы показан на рисунке 1.

Среднее арифметическое

Рисунок 1 — Среднее арифметическое

// average.cpp: определяет точку входа для консольного приложения.

#include "stdafx.h"
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;

float average(float *, int);

int main(int argc, char* argv[])
{
    srand(time(NULL));
    setlocale(LC_ALL, "rus");
    cout << "Введите размер массива: ";
    int size_array; // длинна массива
    cin >> size_array;

    float *sorted_array = new float [size_array]; // одномерный динамический массив
    for (int counter = 0; counter < size_array; counter++)
    {
        sorted_array[counter] = rand() % 100 / (rand() % 10 + 1.0); // заполняем массив случайными числами
        cout << fixed <<setprecision(2) << setw(5) << sorted_array[counter] << "  "; // вывод массива на экран
    }
    cout << "\n";

    cout << "Среднее арифметическое = " << average(sorted_array, size_array) << endl; // вызов функции определения среднего арифметического

    delete [] sorted_array; // высвобождаем память
    system("pause");
    return 0;
}

float average(float *vector, int length)
{
    float avg = 0; // среднее арифметическое 
    for (int counter = 0; counter < length; counter++)
    {
        avg += vector[counter]; // накапливаем сумму элементов массива
    }
    return (avg / length); // накопленную сумму делим на количество элементов и возвращаем полученно значение в main функцию
}

Автор: admin
Дата: 12.09.2012
Поделиться:

Комментарии

  1. Максим Назаренко

    #include<iostream>
    #include<conio.h>
    #include<iomanip>
    using namespace std; 
    int main()
    {
    	setlocale(0,"");
    	int x;
    	float sum(0);
    	cout << "Введите размер массива: " ; 
    	cin >> x; 
    	float *mas = new float[x]; // динамический массив
    	for (unsigned i = 0; i < x; i++)
    	{
    	mas[i] = rand() % 100 / (rand() % 10 + 3.0); // рандомное заполнение 
    	cout << fixed << setprecision(2) << mas[i] << "  ";
    	}
    	cout << endl; 
    	for (unsigned i = 0; i < x; i++)
    	sum += mas[i]; // сложение элементов массива 
    	cout << "Среднее арифметическое = " << (sum / x) << endl; 
    	delete [] mas; 
    	_getch();
    	return 0;
    }

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.