5 / 3 / 2
Регистрация: 24.06.2017
Сообщений: 218
1

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

14.06.2019, 15:02. Показов 2084. Ответов 9
Метки нет (Все метки)

всем привет есть такое задание вообще не понимаю что от меня требуется путем лазанья в интернете нашел пару примеров и подогнал под свое задание но не до конца а точнее последние два условия не смог реализовать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int getMinimum(int **arr, int countTable, int countLine)
{
    int locMin = 0;
    for(int i = 0; i < countTable; i++)
    {
        for(int j = 0; j < countLine; j++)
        {
            //i-1 <= k <= i+1, j-1 <= 1 <= j+i, (k,1) != (i, j)
            if (i+1 != countTable)
            {
            
                if (arr[i - 1, j] >= arr[i, j] && arr[i + 1, j] >= arr[i, j] && arr[i, j] <= arr[i, j - 1] && arr[i, j] <= arr[i, j + 1])
                {
                //cout<<"String "<<i+1<<" column "<<j+1<<" min = "<<mas[i][j]<<endl;
                    locMin += 1;
                }
            }
        }
    }
    return locMin;
}
Миниатюры
Подсчитать количество локальных минимумов  
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2019, 15:02
Ответы с готовыми решениями:

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

Подсчитать количество локальных минимумов матрицы
Подсчитать количество локальных минимумов матрицы размерности 4х4. Локальный минимум - элемент,...

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

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

9
Нарушитель
Эксперт C
26229 / 16259 / 3524
Регистрация: 24.12.2010
Сообщений: 35,886
14.06.2019, 15:25 2
Цитата Сообщение от zapolarnik16 Посмотреть сообщение
есть такое задание
Какое?
Цитата Сообщение от zapolarnik16 Посмотреть сообщение
вообще не понимаю что от меня требуется
Я тем более.
0
5 / 3 / 2
Регистрация: 24.06.2017
Сообщений: 218
14.06.2019, 15:44  [ТС] 3
Выше приложен скриншот он узкий наверно вы его не заметили
0
Модератор
1638 / 1088 / 487
Регистрация: 17.07.2012
Сообщений: 5,339
14.06.2019, 15:51 4
Как начинающий телепат, предположу что локальный минимум это элемент который не больше(или меньше, тут уточнять надо) своих соседей. И вот у ТС задача посчитать количество таких элементов.

Добавлено через 2 минуты
А, точно, есть скриншот, но очень маленький. Пишите задание ручками, разве это так сложно?
0
5 / 3 / 2
Регистрация: 24.06.2017
Сообщений: 218
14.06.2019, 15:54  [ТС] 5
в следующий раз буду писать ручками текст задачи в место скрина
0
Нарушитель
Эксперт C
26229 / 16259 / 3524
Регистрация: 24.12.2010
Сообщений: 35,886
14.06.2019, 17:29 6
Цитата Сообщение от zapolarnik16 Посмотреть сообщение
в следующий раз буду писать ручками текст задачи в место скрина
Решение правильное. Только зачем же ждать следующего раза? Пишите прямо в этой теме.

Добавлено через 10 минут
А код может выглядеть как-то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int getMinimum(int **arr, int countTable, int countLine)
{
    int locMin = 0;
    for(int i = 0; i < countTable; i++)    {
        for(int j = 0; j < countLine; j++)    {
           bool isMin = true;
           for(int ii=i-1; ii<=i+1; ii++) {
              if (ii<0 || ii>=countTable) continue;
              for(int jj=j-1; jj=j+1; jj++) {
                 if (ii==i && jj==j) continue; 
                 if (jj<0 || ii>=countLine) continue;
                 if (arr[ii][jj] <= arr[i][j]) isMin = false;
              }
            }
             if (isMin) locMin++;
        }
    }
    return locMin;
}
Добавлено через 3 минуты
Код можно слегка оптимизировать.Ибо совершенно излишне крутить цикл дальше, если isMin стал false. Но это вам уже упражнение на дом.
1
5 / 3 / 2
Регистрация: 24.06.2017
Сообщений: 218
14.06.2019, 20:16  [ТС] 7
спасибо большое выручали )
0
Нарушитель
Эксперт C
26229 / 16259 / 3524
Регистрация: 24.12.2010
Сообщений: 35,886
15.06.2019, 09:28 8
Цитата Сообщение от zapolarnik16 Посмотреть сообщение
буду писать ручками текст задачи
Возможно, вас смутил вопрос - как передать ручками индексы? Обратите внимание на иконку Х2 над ответом
0
5 / 3 / 2
Регистрация: 24.06.2017
Сообщений: 218
17.06.2019, 12:04  [ТС] 9
в третьем цикле стоит условие на бесконечный цыкл я как понял что он должен быть таким ?
for(int jj=j-1; jj > 0; jj--)
0
Нарушитель
Эксперт C
26229 / 16259 / 3524
Регистрация: 24.12.2010
Сообщений: 35,886
17.06.2019, 13:30 10
Лучший ответ Сообщение было отмечено zapolarnik16 как решение

Решение

zapolarnik16, не понял, о чем вы, но у меня в строчках 9-13 действительно ошибка. Даже 2. одна вызвана тем, что на клаве барахлит буква "б" (а вместе с ней и "<").
C++
1
2
3
4
5
6
7
8
              for(int jj=j-1; jj<=j+1; jj++) {
                 if (ii==i && jj==j) continue; 
                 if (jj<0 || jj>=countLine) continue;
                 if (arr[ii][jj] <= arr[i][j]) {  
                   isMin = false;
                   break;  // за одно слегка оптимизировал
                 }
              }
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.06.2019, 13:30

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

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

Подсчитать количество локальных минимумов матрицы
Дали три задачи на зачетную. С массивами у меня более менее нормально, но вот сами задания, что от...

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


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

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

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