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

Узнай цену своей работы

Формулировка задачи:

2)Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. a)подсчитать количество локальных минимумов заданной матрицы размером 10 на 10; Вот эти 2 задачи пожалуйста напишите код.Сам попробовал но никак не получитаеться ( Буду очень благодарен

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

textual
Листинг программы
  1. int LocMin(int X[10][10], int i, int j)
  2. {
  3.   i1 = i-1; i2 = i+1; j1 = j-1; j2 = j+1;
  4.   if (i1 < 0) i1 = 0;
  5.   if (i2>=8) i2 = 7;
  6.   if (j1 < 0) j1 = 0;
  7.   if (j2>=8) j2 = 7;
  8.   for (k=i1; k<=i2; k++)
  9.     for(m=j1; m<=j2; m++) {
  10.       if (k==i && m==j) continue;
  11.       if (X[k][m] < X[i][j]) retutn 0;
  12.     }
  13.   return 1;
  14. }
  15. main() {
  16. ....
  17. m = 0;
  18. for(i=0; i<10; i++)
  19.   for(j=0; j<10; j++)
  20.     if (LocMin(X, j, j)) m++;
  21. ...

Объяснение кода листинга программы

В данном коде реализована функция LocMin, которая подсчитывает количество локальных минимумов в заданной матрице. Список действий в функции LocMin:

  1. Выделяются границы для вложенных циклов: i1 = i-1, i2 = i+1, j1 = j-1, j2 = j+1.
  2. Осуществляется проверка и приведение границ к допустимым значениям: если i1 < 0, то i1 = 0; если i2 >= 8, то i2 = 7. Аналогично для j1 и j2.
  3. Вложенные циклы проходят по всем элементам матрицы, начиная с элемента с координатами i1, j1 и заканчивая элементом с координатами i2, j2.
  4. Если внутри вложенных циклов встречается элемент с координатами i, j и значение этого элемента (X[k][m]) меньше значения элемента с координатами i, j (X[i][j]), то функция возвращает 0.
  5. Если после прохождения всех вложенных циклов функция не вернула значение 0, значит в матрице не было найдено значение меньше, чем значение элемента с координатами i, j, и функция возвращает 1. В функции main() создается переменная m со значением 0, которая будет использоваться для подсчета количества локальных минимумов.
  6. Запускается вложенный цикл, который проходит по всем элементам матрицы X.
  7. Если значение элемента X[i][j] меньше значения элемента с координатами i, j, то переменная m увеличивается на 1. Следует отметить, что в данном коде есть некоторые неточности: в функции LocMin не учитывается случай, когда элемент с координатами i, j уже является локальным минимумом, и вложенные циклы могут вызвать ошибку, если границы выходят за пределы матрицы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.571 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы