С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 27.10.2020
Сообщений: 15
1

Функция возвращающая среднее значение элементов массива

09.11.2020, 16:53. Показов 5064. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Объявить два целочисленных массива разного размера и написать функцию, которая заполняет их элементы случайными значениями и выводит на экран. Функция должна возвращать среднее значение по всем элементам полученного массива.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2020, 16:53
Ответы с готовыми решениями:

Функция вычисляющая среднее значение положительных элементов массива
Функция через параметры получает массив N целых чисел и вычисляет среднее значение ее...

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

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

Функция: среднее арифметическое положительных элементов массива и отрицательных элементов массива
задача:найти среднее арифметическое положительных элементов массива и отрицательных элементов...

9
Модератор
Эксперт С++
13712 / 10911 / 6477
Регистрация: 18.12.2011
Сообщений: 29,135
09.11.2020, 17:36 2
Образцы (шаблоны) программ для типовых задач
Разница только в том, что в функции Work
нужно возвратить не sum, а sum/n (c приведением к типу double)

C++
1
2
3
4
5
6
7
8
9
double Work(int* M,int n) // возвращаемый тип нужен double
{
    int sum=0;
    for(int i=0;i<n;i++)
    {
        sum+=M[i];
    }
    return (double)sum/n; // !!!!!!!  !!!!!!!!!!!!!!!!
}
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
09.11.2020, 17:47 3
zss, опять не тот тип для avg рекомендуете. может исправите у себя по ссылке ?
1
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
09.11.2020, 17:56 4
Цитата Сообщение от zss Посмотреть сообщение
sum/n
Это же целочисленное деление, неверно будет!
1
Модератор
Эксперт С++
13712 / 10911 / 6477
Регистрация: 18.12.2011
Сообщений: 29,135
09.11.2020, 17:58 5
Yetty, jugu, Спасибо, уже поправил
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
09.11.2020, 18:08 6
C++
1
2
3
4
5
6
7
8
9
10
11
double Average (int *M, int n) 
{
    double avg=0.;
    for(int i = 0; i < n; i++)
    {
        avg+=M[i];
    }
    avg/=n;
    
    return avg; 
}
0
0 / 0 / 0
Регистрация: 27.10.2020
Сообщений: 15
09.11.2020, 18:26  [ТС] 7
А можно поподробнее пожалуйста?)
0
Модератор
Эксперт С++
13712 / 10911 / 6477
Регистрация: 18.12.2011
Сообщений: 29,135
09.11.2020, 18:55 8
CyberBa, куда уж подробнее?
Не можете скопировать исходный код?
Так это просто, вверху листинга есть кнопка Выделить.
Потом нажимаете ctrl+C
И вставляете в файл:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream>
//#include <clocale>
#include <cstdlib>
using namespace std;
//----- объявление прототипов используемых функций----------------------------------------
void Input(int* M,int n);  // ввод массива
void Print(int* M,int n);   // вывод массива
void RandomFill(int* M,int n);   // заполнение массива случайными числами
//--------------------------------------------------------------------------
int Work(int* M,int n);   // пример обработки массива
//   Сюда добавить протопипы тех функций которые дополнительно напишете
//--------------------------------------------------------------------------
 
//----------  main() -  точка входа в программу консольного приложения 
int main()
{
    //setlocale(LC_ALL,"Rus");
    int n;
    cout<<"Размер вектора?";
    cin>>n;
    int* A=new int[n];
    //Input(A,n);
    RandomFill(A,n);
    Print(A,n); 
    int s=Work(A,n);
    cout<<"Summa = " << s<< endl;
    delete[] A;
    //system("pause");
    return 0;
}
//----   описание функций -----------------------------------------
// ввод массива
void Input(int* M,int n)
{
    for(int i=0;i<n;i++)
    {
        cout<<"M["<<i<<"]=?";
            cin >> M[i];
    }
}
// заполнение случайными числами
void RandomFill(int* M,int n)
{
    for(int i=0;i<n;i++)
    {
        M[i]=rand()%100;
    }
}
  // вывод массива
void Print(int* M,int n)
{
    for(int i=0;i<n;i++)
    {
        cout << M[i]<< " ";
    }
    cout << endl;
}
// пример обработки - подсчет суммы элементов
int Work(int* M,int n)
{
    int sum=0;
    for(int i=0;i<n;i++)
    {
        sum+=M[i];
    }
    return sum;
}
// сюда вставить все дополнительные функции которые напишете
После этого заменяете функцию Work на вышеприведенную (везде, где она встречается).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <iostream>
//#include <clocale>
#include <cstdlib>
using namespace std;
//----- объявление прототипов используемых функций----------------------------------------
void Input(int* M,int n);  // ввод массива
void Print(int* M,int n);   // вывод массива
void RandomFill(int* M,int n);   // заполнение массива случайными числами
//--------------------------------------------------------------------------
double Work(int* M,int n);   // пример обработки массива  // !!!!!!!!!!!!!!!   здесь !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//   Сюда добавить протопипы тех функций которые дополнительно напишете
//--------------------------------------------------------------------------
 
//----------  main() -  точка входа в программу консольного приложения 
int main()
{
    //setlocale(LC_ALL,"Rus");
    int n;
    cout<<"Размер вектора?";
    cin>>n;
    int* A=new int[n];
    //Input(A,n);
    RandomFill(A,n);
    Print(A,n); 
    double s=Work(A,n); // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!   здесь !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    cout<<"Average = " << s<< endl;  // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    delete[] A;
    //system("pause");
    return 0;
}
//----   описание функций -----------------------------------------
// ввод массива
void Input(int* M,int n)
{
    for(int i=0;i<n;i++)
    {
        cout<<"M["<<i<<"]=?";
            cin >> M[i];
    }
}
// заполнение случайными числами
void RandomFill(int* M,int n)
{
    for(int i=0;i<n;i++)
    {
        M[i]=rand()%100;
    }
}
  // вывод массива
void Print(int* M,int n)
{
    for(int i=0;i<n;i++)
    {
        cout << M[i]<< " ";
    }
    cout << endl;
}
//     И   здесь   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
double Work(int* M,int n) // возвращаемый тип нужен double
{
    int sum=0;
    for(int i=0;i<n;i++)
    {
        sum+=M[i];
    }
    return (double)sum/n; // !!!!!!!  !!!!!!!!!!!!!!!!
}
ВСЁ!!!!!!
0
Yetty
09.11.2020, 19:07
  #9

Не по теме:

Цитата Сообщение от zss Посмотреть сообщение
куда уж подробнее?
не всё так просто, в примере один массив, а ТС нужно два :)

0
zss
09.11.2020, 20:46     Функция возвращающая среднее значение элементов массива
  #10

Не по теме:

Цитата Сообщение от Yetty Посмотреть сообщение
ТС нужно два
Это уж, точно, непреодолимая проблема!

0
09.11.2020, 20:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2020, 20:46
Помогаю со студенческими работами здесь

Функция возвращающая значение
Надо переделать штоб функции не были void а позвращали значение в главную функцию Задание:...

Функция, возвращающая значение
сам не могу осилить

Функция: вернуть среднее значение всех элементов массива
Мне нужно сделать функцию, которая будет принимать размер массива дробных чисел и сам массив, и...

Функция: вернуть среднее значение элементов одномерного массива
Составьте функцию, которая вернет среднее значение элементов одномерного массива. Составьте...

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

Функция: подсчитать количество чисел, превышающих среднее арифметическое значение элементов массива
Добрый вечер!Преподаватель дал новую тему,но объяснений по ней-ноль Может кто-нибудь помочь с этой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru