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

Найти элемент, наиболее близкий к среднему арифметическому всех элементов матрицы - C++

Восстановить пароль Регистрация
 
JoQees
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 13
23.11.2012, 08:07     Найти элемент, наиболее близкий к среднему арифметическому всех элементов матрицы #1
двумерный статический массив размером 5x5.Найти элемент наиболее близкий к среднему арифметическому всех элементов. Вывести на экран его индекс и значение.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2012, 08:07     Найти элемент, наиболее близкий к среднему арифметическому всех элементов матрицы
Посмотрите здесь:

C++ Найти в массиве элемент, наиболее близкий к среднему рифметическому суммы его элементов
Найти номера строки и столбца для элемента матрицы, наиболее близкого к среднему значению всех ее элементов. C++
Удалить из последовательности первый по порядку элемент, наиболее близкий по значению к среднему арифметическому C++
Найти элемент массива, наиболее близкий к среднему значению всех элементов массива C++
Найти и вывести элемент,наиболее близкий к среднему арифметическому всех элементов массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pure
 Аватар для Pure
228 / 49 / 2
Регистрация: 13.03.2012
Сообщений: 453
Записей в блоге: 7
23.11.2012, 13:00     Найти элемент, наиболее близкий к среднему арифметическому всех элементов матрицы #2
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int mass [5][5] = {{0}}; //массив 5х5
 
class Calculate
{
int middle; //среднее арифметическое
int d1; //индекс первого измерения
int d2; //индекс второго измерения
public:
    void FindMiddle( ) //поиск среднего арифметического
    {
        middle = 0;
        d1 = 0;
        d2= 0;
        for(int i = 0;i<5;++i)
        {
            for(int j = 0;j<5;++j)
            {
                middle+=mass[i][j]; 
            }
        }
        middle/=25;
        std::cout<<"Middle val is "<<middle<<"\n";
    }
 
    void PrintMass() //распечатка массива
    {
        for(int i = 0;i<5;++i)
        {
            for(int j = 0;j<5;++j)
            {
               std::cout<<mass[i][j]<<" "<<"["<<i<<"]"<<"["<<j<<"]\n";
            }
        }
    }
 
 
    void PrintResult() //распечатка результата с индексом
    {
        std::cout<<"Result is: "<<mass[d1][d2]<<" "<<"["<<d1<<"]"<<"["<<d2<<"]\n";
    }
 
    void FindNearestValue() //поиск результата наиболее близкого к среднеарифметич
    {
        int temp = 0;
        for(int i = 0;i<5;++i)
        {
            for(int j = 0;j<5;++j)
            {
               int val = abs(middle-mass[i][j]);
               if(i==0&&j==0)temp = val;
 
               if(temp>val)
               {
                   temp = val;
                   d1 =i;
                   d2 =j;
               }
 
            }
        }
    }
};
 
 
int main()
{
srand ( time(NULL) );
   
   for(int i = 0;i<5;++i)
   {
       for(int j = 0;j<5;++j)
       {
           mass[i][j] = rand()/90530;//инициализация массива случайными числами
       }
   }
 
   Calculate calc;
   calc.PrintMass();
   calc.FindMiddle();
   calc.FindNearestValue();
   calc.PrintResult();
 
}
Добавлено через 3 минуты
выход
11319 [ 0 ] [ 0 ]
8947 [ 0 ] [ 1 ]
1295 [ 0 ] [ 2 ]
4369 [ 0 ] [ 3 ]
12556 [ 0 ] [ 4 ]
4740 [ 1 ] [ 0 ]
19764 [ 1 ] [ 1 ]
19312 [ 1 ] [ 2 ]
6864 [ 1 ] [ 3 ]
16078 [ 1 ] [ 4 ]
20621 [ 2 ] [ 0 ]
19552 [ 2 ] [ 1 ]
15242 [ 2 ] [ 2 ]
1477 [ 2 ] [ 3 ]
22875 [ 2 ] [ 4 ]
17881 [ 3 ] [ 0 ]
9052 [ 3 ] [ 1 ]
7062 [ 3 ] [ 2 ]
5797 [ 3 ] [ 3 ]
1233 [ 3 ] [ 4 ]
4515 [ 4 ] [ 0 ]
12627 [ 4 ] [ 1 ]
8985 [ 4 ] [ 2 ]
22626 [ 4 ] [ 3 ]
2530 [ 4 ] [ 4 ]
Middle val is 11092
Result is: 11319 [ 0 ] [ 0 ]
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
23.11.2012, 13:06     Найти элемент, наиболее близкий к среднему арифметическому всех элементов матрицы #3
Pure, не стоит всегда думать объектами, можно подхватить заразную Jaбу в голове
Pure
 Аватар для Pure
228 / 49 / 2
Регистрация: 13.03.2012
Сообщений: 453
Записей в блоге: 7
23.11.2012, 13:09     Найти элемент, наиболее близкий к среднему арифметическому всех элементов матрицы #4
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int mass [5][5] = {{0}}; //массив 5х5
 
 
int middle; //среднее арифметическое
int d1; //индекс первого измерения
int d2; //индекс второго измерения
 
    void FindMiddle( ) //поиск среднего арифметического
    {
        middle = 0;
        d1 = 0;
        d2= 0;
        for(int i = 0;i<5;++i)
        {
            for(int j = 0;j<5;++j)
            {
                middle+=mass[i][j]; 
            }
        }
        middle/=25;
        std::cout<<"Middle val is "<<middle<<"\n";
    }
 
    void PrintMass() //распечатка массива
    {
        for(int i = 0;i<5;++i)
        {
            for(int j = 0;j<5;++j)
            {
               std::cout<<mass[i][j]<<" "<<"["<<i<<"]"<<"["<<j<<"]\n";
            }
        }
    }
 
 
    void PrintResult() //распечатка результата с индексом
    {
        std::cout<<"Result is: "<<mass[d1][d2]<<" "<<"["<<d1<<"]"<<"["<<d2<<"]\n";
    }
 
    void FindNearestValue() //поиск результата наиболее близкого к среднеарифметич
    {
        int temp = 0;
        for(int i = 0;i<5;++i)
        {
            for(int j = 0;j<5;++j)
            {
               int val = abs(middle-mass[i][j]);
               if(i==0&&j==0)temp = val;
 
               if(temp>val)
               {
                   temp = val;
                   d1 =i;
                   d2 =j;
               }
 
            }
        }
    }
 
 
 
int main()
{
srand ( time(NULL) );
   
   for(int i = 0;i<5;++i)
   {
       for(int j = 0;j<5;++j)
       {
           mass[i][j] = rand()/90530;//инициализация массива случайными числами
       }
   }
 
    PrintMass();
    FindMiddle();
    FindNearestValue();
    PrintResult();
 
}
так легче?
Yandex
Объявления
23.11.2012, 13:09     Найти элемент, наиболее близкий к среднему арифметическому всех элементов матрицы
Ответ Создать тему
Опции темы

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