Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Veronika2009
0 / 0 / 0
Регистрация: 21.11.2009
Сообщений: 1
1

Подсчитать количество локальных минимумов заданной матрицы

24.11.2009, 16:09. Просмотров 1622. Ответов 1
Метки нет (Все метки)

Приветик всем!!!
Мне тут подружка принесла задание с котрым я не могу справится,надо написать прогрмку на С++
Помогите пожайлуста!!!Расцелую всех
Вот само задание:
В ходе выполнения практического задания требуется составить алгоритм в виде блок-схемы и програму решения задачи на языке програмирования С++
Элемент матрицы называется локальным минимумом,если он строго меньше всех имеющихся у него соседей.Подсчитать количество локальных минимумов заданной матрицы размером 10 на 10.
Помогите плз!!!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2009, 16:09
Ответы с готовыми решениями:

Подсчитать количество локальных минимумов заданной матрицы
Здравствуйте. У меня вопрос слегка необычный, а точнее просьба, у меня есть...

Подсчитать количество локальных минимумов заданной матрицы
Помогите пожалуйста решить задачку =) Элемент матрицы называется локальным...

Подсчитать количество локальных минимумов заданной матрицы
Ребят помогите решить задачу. Элемент матрицы называется локальным...

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

Подсчитать количество локальных минимумов заданной матрицы
Элемент матрицы называется локальным минимумом, если он строго меньше всех...

1
Vladimir.
158 / 158 / 48
Регистрация: 24.11.2009
Сообщений: 375
25.11.2009, 14:53 2
Лучший ответ Сообщение было отмечено как решение

Решение

На правах оффтопа:
Приветик всем!!!
Мне тут подружка принесла задание с котрым я не могу справится,надо написать прогрмку на С++
Помогите пожайлуста!!!Расцелую всех
Не обязательно целовать - есть замечательная кнопочка "Спасибо"..

Пара слов о методe get: поскольку проверять находиться ли элемент у границы матрицы очень муторно (и черевато ошибками), то данная проверка не выполнялась. Вместо этого, при обращении к несуществующему элементу (то есть за границы) get выдает значение заведомо большее любого элемента матрицы (это "фича" такая =)), что позволяет использовать один и тот же код как для внутренних элементов матрицы, так и для приграничных. Для того, чтобы "фича" работала необходимо до использования get вызвать метод set_max().

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
89
90
91
92
93
94
95
96
97
#include<iostream>
 
using namespace std;
 
class SquareMatrix
{
      private:
             double** matrix;
             int dimm;
             double max;
             void Create()
             {
                matrix = new double* [dimm];
                for (int i=0; i<dimm; i++)
                    matrix[i]= new double [dimm];            
                
             }
      public:
             SquareMatrix(int n): dimm(n) {Create();}
            ~SquareMatrix()
            {
                   for (int i=0; i<dimm; i++)
                       delete[] matrix[i];
                   delete[] matrix;
            }
            
            double get(int i, int j)
            {   
                if (((i>0)&&(i<dimm)&&(j>0)&&(j<dimm)))return matrix[i][j]; 
                //Если вызываем элемент вне границ матрицы, возвращает
                //заведомо устраивающее нас значение.
                else if(i<0) return max+1;
                else if(i>=dimm) return max+1;
                else if(j<0) return max+1;
                else if(j>=dimm) return max+1;
            }
            void set(int i,int j, double var)
            {
                matrix[i][j] = var;   
            }
             
            void show_matrix()
            {              
                  for (int i=0;i<dimm;i++)
                  {
                     for (int j=0;j<dimm;j++)
                     {
                        cout.width(4);
                        cout<<matrix[i][j];
                     }
                     cout<<endl;
                  }
                    
            }   
            
            void set_max()
            {
                max = matrix[0][0];
                for(int i=0;i<dimm;i++)
                    for(int j=0;j<dimm;j++)
                      max = matrix[i][j]>max?matrix[i][j]:max;
            }  
};
 
int main()
{
    int dimm = 10; 
    SquareMatrix M(dimm); 
    // По условию матрица Вам задана, у меня этих значений нет,
    // так что заполним случайными числами. Перепишите, если нужно.
    for (int i=0; i<dimm;i++)
        for (int j=0;j<dimm;j++)
            M.set(i,j,(rand()%3-1));
    //Конец заполнения.
    
    system("cls");
    M.show_matrix();
    M.set_max();
    int counter = 0;
    for(int i=0;i<dimm;i++)
    {
        for (int j=0;j<dimm;j++)
        {
            //Проверка на локальную "минимальность"
            if(M.get(i,j)>=M.get(i-1,j-1)) continue;
            if(M.get(i,j)>=M.get(i-1,j))   continue;
            if(M.get(i,j)>=M.get(i-1,j+1)) continue;
            if(M.get(i,j)>=M.get(i,j-1))   continue;
            if(M.get(i,j)>=M.get(i,j+1))   continue;
            if(M.get(i,j)>=M.get(i+1,j-1)) continue;
            if(M.get(i,j)>=M.get(i+1,j))   continue;
            if(M.get(i,j)>=M.get(i+1,j+1)) continue;
            counter++;
        }
    }
    cout<<"\n\tCount of local min = "<<counter;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2009, 14:53

Подсчитать количество локальных минимумов заданной матрицы размером 10 на 10
Элемент матрицы называется локальным минимумом, если он строго меньше всех...

Подсчитать количество локальных минимумов матрицы
Дан двумерный массив NxN. 1. Элемент матрицы называется локальным минимумом,...

Подсчитать количество локальных минимумов матрицы
Дано матрицу . Разделить выходную матрицу на значения y=2/x, где x=1,5....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru