Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строки. http://www.cyberforum.ru/cpp-beginners/thread319277.html
Здравствуйте. Помогите пожалуйста с задачей: ввести набор слов распечатать ее группами так чтобы слова каждой группы состояли из одинаковых букв Спасибо. буду очень, очень благодарен! На...
C++ Показать процесс сортировки массива Подскажите, какой код нужно добавить, чтобы в программе: 1) каждое случайное число было в кружочке; 2) показывался процесс сортировки масиива (как происходит перестановка). Вот программа: ... http://www.cyberforum.ru/cpp-beginners/thread319265.html
Массивы C++
Найдите сумму тех чисел, которые чётные и отрицательные.:cofee2:
Отсортировать по убыванию элементы массива с нечетными номерами методом обмена в прогрмамме С++ C++
Дан целочисленный массив A(n) с элементами, сгенерированными случайными числами в диапазоне (-20,20). ТРЕБУЕТСЯ: Отсортировать по убыванию элементы массива с нечетными номерами методом...
C++ ошибка сегментирования http://www.cyberforum.ru/cpp-beginners/thread319233.html
При запуске скомпилированной (gcc) программы выскакивает ошибка сегментирования, а при запуске ее же в дебагере (gdb) -- program exited normally. Как такое понимать?
C++ Очередь Всем привет! Вопрос: целесообразно ли перегружать для очереди операторы ввода/вывода и оператор , для произвольного доступа к елементам ? Спасибо. подробнее

Показать сообщение отдельно
nuri
0 / 0 / 0
Регистрация: 01.05.2011
Сообщений: 63

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

14.06.2011, 01:42. Просмотров 1286. Ответов 13
Метки (Все метки)

Здравствуйте. У меня вопрос слегка необычный, а точнее просьба, у меня есть программа, которая работает как надо. Но я не могу разобраться в листинге программы, не могли бы вы мне написать комментарии к данной программе. Заранее огромное спасибо!
Условие задачи следующие: Подсчитать количество локальных минимумов заданной матрицы размером 10 на 10. Найти сумму модулей элементов, расположенных выше главной диагонали
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
#include "math.h"
#include "iostream.h"
#include "stdlib.h"
#include "time.h"
void main ()
{
const int n=10, m=10;
int arr [n][m];
int i, j;
int iCountLM=0;
bool flag;
int iSummAbsUpMain=0;
srand(time(NULL));
cout << "\n matrica randomnay obyknovennaya\n";
for (i=0 ; i<n; i++)
{
for (j=0; j<m; j++)
{
arr[i][j]= -100+rand()%201;
cout << arr[i][j] << " ";
}
cout << endl;
}
for (i=0 ; i<n; i++)
{
for (j=0; j<m; j++)
{
flag = true; 
if (!(i-1<0))
{
if (arr[i][j]>=arr[i-1][j-1]) flag = false;
}
// up
if (!(i-1<0))
{
if (arr[i][j]>=arr[i-1][j]) flag = false;
}
//right up
if (!(j>m-1))
{
if (arr[i][j]>=arr[i-1][j+1]) flag = false;
}
//right
if (!(j+1>m-1))
{
if (arr[i][j]>=arr[i][j+1]) flag = false;
}
//ritht down
if (!(j+1>m-1))
{
if (arr[i][j]>=arr[i+1][j+1]) flag = false;
}
//down
if (!(i+1>n-1))
{
if (arr[i][j]>=arr[i+1][j]) flag = false;
}
//left down
if (!(i+1>n-1))
{
if (arr[i][j]>=arr[i+1][j-1]) flag = false;
}
//left
if (!(j<0))
{
if (arr[i][j]>=arr[i][j-1]) flag = false;
}
if (flag) iCountLM+=1;
}
}
cout << "\n koli4estvo lok min  " << iCountLM<< endl;
for (i=0; i<n; i++)
{
for (j=0; j<m; j++)
{
if (j>i) iSummAbsUpMain+=abs(arr[i][j]);
}
}
cout << "\n summa nad glav diagon  " << iSummAbsUpMain<< endl;
}
 Комментарий модератора 
Используйте теги форматирования кода!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.