Написать функцию, подсчитывающую среднее арифметическое целого массива. Предварительно объявив и, при необходимости, инициализировав переменные.
Прочитайте статью о том, как определять и использовать функции в своей программе. Если вы не знайте, как работать с массивами, обратитесь к этой статье: Одномерные и двумерные массивы в С++. Если вы хотите сделать программу более универсальной, используйте динамические массивы. Результат работы программы показан ниже:
CppStudio.com
50 83 54 32 73 22 51 67 28 7
среднее арифметическое = 46.7
// avg_function.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iostream> using namespace std; #include <ctime> // прототип функции time() double avg(const int *arrayPtr, int size_array);// прототип функции нахождения среднего арифметического int main(int argc, char* argv[]) { setlocale(LC_ALL,"rus"); srand(time(0)); // рандомизация const int length_array = 10; // размер массива int vector[length_array]; // объявляе массив соответствующего размера for (int counter = 0; counter < length_array; counter++) { vector[counter] = rand() % 100; // инициализация массива случайным числом в интервале [0;99] cout << vector[counter] << " "; // печать элемента массива } cout << "\nсреднее арифметическое = " << avg(vector, length_array) << endl; // запуск функции system("pause"); return 0; } double avg(const int *arrayPtr, int size_array) // функция нахождения среднего арифметического { int sum = 0; // хранение суммы элементов массива for (int counter = 0; counter < size_array; counter++) { sum += arrayPtr[counter]; // накапливаем сумму } return (double)sum/size_array; // возвращаем среднее арифметическое }
Вот пример работы этой программы:
CppStudio.com
50 83 54 32 73 22 51 67 28 7
среднее арифметическое = 46.7
Следующее решение данной задачи предоставил нам Vladislav Anonymous, за это мы ему очень благодарны. Код программы смотрим ниже, разбираемся и задаем вопросы на форуме.
#include <iostream> #include <ctime> #include <cstdlib> using namespace std; void sred(int) { srand(time(NULL)); int n; cout<<"Введите размер массива - "; cin>>n; int arr[n]; int num = 0; int res = 0; cout<<"\n\n"; for(int i=1;i<=n;i++) { res = rand()%100; arr[i] = res; cout<<arr[i]<<" "; num +=arr[i]; } num = num/n; cout<<"\nСреднее арифметическое = "<<num<<endl; } int main() { setlocale(LC_ALL,"Rus"); int n;Введите размер массива - 20 47 30 85 77 73 74 9 55 94 65 8 67 92 21 69 61 80 55 94 40 Среднее арифметическое = 59 int num; sred(n); return num; }
А вот как выглядит работа этой программы в консоли.
CppStudio.com
Введите размер массива - 20 47 30 85 77 73 74 9 55 94 65 8 67 92 21 69 61 80 55 94 40 Среднее арифметическое = 59
Комментарии
Иван Ватников
Александр Костенко
petruska
Слишком легко для этого раздела
Andrey_Qbasic_oldschool
Вот )
Annka
Мой вариант, когда не нужно вводить предварительно размер массива.
Bagdosha
Задания средней сложности №4 и №10 — одно и то же задание, и даже ведут на одну и ту же страницу (эту).