Форум программистов, компьютерный форум CyberForum.ru

Определить среднее арифметическое элементов массива - C++

Восстановить пароль Регистрация
 
sasha_byka
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 15
17.05.2014, 18:11     Определить среднее арифметическое элементов массива #1
Определить среднее арифметическое элементов массива размерности МхN. Найти индексы элемента массива, ближайшего к полученному среднему значению.
Помогите пожалуйста!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2014, 18:11     Определить среднее арифметическое элементов массива
Посмотрите здесь:

C++ среднее арифметическое элементов массива без учета минимального и максимального элементов массива
C++ Определить среднее арифметическое всех элементов массива.
2.1 Написать программу, которая вычисляет среднее арифметическое элементов массива без учета минимального и максимального элементов массива. Организов C++
Определить максимальное и среднее арифметическое значение элементов массива C++
C++ Найти среднее арифметическое значение четных элементов и среднее арифметическое нечетных элементов и сравнить их между собой
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Darkos
5 / 5 / 4
Регистрация: 16.05.2014
Сообщений: 74
17.05.2014, 22:15     Определить среднее арифметическое элементов массива #2
Заполняется массив в ручную или случайными числами?
katsidelin
 Аватар для katsidelin
60 / 21 / 2
Регистрация: 15.11.2013
Сообщений: 112
Записей в блоге: 3
17.05.2014, 22:16     Определить среднее арифметическое элементов массива #3
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
69
70
71
72
#include <iostream>
 
using namespace std;
 
int main(void)
{
    const int a = 5; // Размер массива.
    const int b = 5; // Размер массива.
    int x = 0; // Индекс массива.
    int y = 0; // Индекс массива.
    double Massive [a] [b] =
    {
        -14.55, 17.36,      2.56,       -5.36,  25.69,
        155.36, -365.35,    0.25,       77.36,  -44.37,
        44.62,  23.36,      -47.00,     8.36,   14.77,
        0.36,   4736.23,    -536.36,    -14.75, 1.11,
        1.36,   -458.63,    -5.99,      6.54,   8.36
    };
    double Srednee = 0.00; // Искомое среднее.
    double Sum = 0.00; // Сумма всех ячеек матрицы.
    double Min = 0.00; // Минимальная разница от среднеарифметического.
    double FindMin1 = 0.00; // Переменная для поиска минимальное разницы.
    double FindMin2 = 0.00; // Переменная для поиска минимальное разницы.
 
    for ( int x1 = 0; x1 < a; x1++ )
    {
        for ( int y1 = 0; y1 < b; y1++ ) Sum += Massive [x1] [y1];
    };
 
    cout << endl << "Сумма элементов массива = " << Sum << ".\n\n" << endl;
 
    Srednee = Sum / ( a*b ); // Сумму делим на количество элементов.
 
    cout << "Средее значение элементов массива = " << Srednee << ".\n\n" << endl;
 
    /* *************************************** */
 
    Min = Srednee;
 
    for ( int x2 = 1; x2 < a; x2++ )
    {
        for ( int y2 = 1; y2 < b; y2++ )
        {
            FindMin1 = ( Massive [x2 - 1] [y2 -1] ) - Srednee;
            if (FindMin1 < 0) FindMin1 *= -1;
 
            FindMin2 = ( Massive [x2] [y2] ) - Srednee;
            if (FindMin2 < 0) FindMin2 *= -1;
 
            // В сравнении главное найти миниальную разницу.
            if ( FindMin1 < FindMin2 )
            {
                if ( FindMin1 < Min )
                {
                    Min = FindMin1;
                    x = x2 - 1;
                    y = y2 -1;
 
                    // cout << Min << endl; // Debug
                };
            };
        };
    };
 
    /* *************************************** */
 
    cout << "\n\tВ результате вычислений было выявлено, что наиболее близкое значение в массиве к среднему " <<
            "арифметическому составляет " << Massive [x] [y] << ".\n Индексы элемента: " << x << '\t' << y <<
            ".\n Разница со среднеарифметическим составляет " << Min << endl;
 
    return 0;
}
sasha_byka
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 15
17.05.2014, 23:34  [ТС]     Определить среднее арифметическое элементов массива #4
Но нужно что бы массив заполнялся случайно
Darkos
5 / 5 / 4
Регистрация: 16.05.2014
Сообщений: 74
18.05.2014, 12:05     Определить среднее арифметическое элементов массива #5
Как то так:
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
#include <iostream>
#include <iomanip>
#include <time.h>
#include <stdlib.h>
using namespace std;
 
 
 
void main()
{
    setlocale(0, "");
    int m=0,n=0,a=0; float s_ar=0;
 
    int **mas;
    cout << "Введите размеры масива N*M" << endl;
    cout << "N = ";
    cin >> n;
    cout << "M = ";
    cin >> m;
    cout << "Введите диапазон случайных чисел" << endl;
    cin >> a;
    int const con = a;
 
    for (int k=0; k<n;k++)
    mas = new int*[m]; // Создаем масив
    for (int i=0; i<m; i++) mas[i]=new int[n];
 
    
    // Заполняем случайными числами в диапозоне от 1 до к
    for (int i = 0; i<m ; i++) // Строки масива
        for (int j = 0; j<n ; j++) // Столбци масива
        {
            mas[i][j] = 1 + rand() % con;  //заполняем текущую ячейку
            s_ar += mas[i][j]; 
        }
 
    cout << endl << "Ваш масив:" << endl;
 
    for(int i = 0; i<m; i++)
    {
        for(int j = 0; j<n; j++)
        {
             if (!(j%n)) cout<<endl; //Чтобы массив выглядел как массив
                  cout<<mas[i][j]<<'\t'; //Табуляция символов 
        }
    }
    cout << endl << "Среднее арифметическое = " << s_ar/(m*n);
 
    cin.get();
    cin.get();
}
sasha_byka
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 15
19.05.2014, 10:37  [ТС]     Определить среднее арифметическое элементов массива #6
А индекс как найти??????
Yandex
Объявления
19.05.2014, 10:37     Определить среднее арифметическое элементов массива
Ответ Создать тему
Опции темы

Текущее время: 02:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru