![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 08.02.2013
Сообщений: 69
|
![]()
Существует массив...
1 0 1 1 0 5 1 0 1 0 1 0 0 0 1 0 Задача определить сколько цифр "1" "вокруг" цифры "5".. Каким образом опросить массив со всеми возможными вариантами расположения цифры "5"? Если "5" в этом положении, то "вокруг" нее 8 цифр из которых "1"- 5 штук. А если, например "5" будет в крайних положениях, то "вокруг" нее может быть 3 или 5 цифр..Описывать отдельно все эти варианты, заранее кажется не самым оптимальным вариантом..Не могу сообразить как поступить в этом случае..Есть ли другие варианты?Или все-таки описывать крайние положения? Заранее спасибо!! |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 08.02.2013
Сообщений: 69
|
![]()
В принципе вроде-бы пришло в голову опрашивать элементы массива с номерами (i+1...+3..+4..+5) а также (i-1...-3...-4..-5) от ....Должно получиться. И описать исключения, если выхожу из границ массива??Или все-таки, не туда?
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
![]()
Общий принцип такой. Сперва надо найти расположение цифры 5. Её координаты (i,j). Затем опросить окрестности её расположения, то есть элементы начиная с (i-1,j-1) и заканчивая (i+1,j+1). При этом, естественно, что элемент (i,j) следует пропустить, потому что это цифра 5.
Если цифра 5 находится на краю массива, то в процессе опроса может произойти выход за границы массива. Поэтому для корректной работы в случае крайних положений необходима некоторая модификация алгоритма опроса. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
а если так записать?
Допустим, массив A имеет размерность N и позиция проверямой ячейки задана координатами i, j тогда Код:
пишу прямо на форуме, без проверки.. Просто чтобы проиллюстрировать свою идею.. p.s. т.к. в ячейке у нас находится цифра 5, то можно проверку на r==i и c==j выкинуть: Код:
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Масивы | Nepomeha | Общие вопросы C/C++ | 10 | 27.12.2013 04:50 |
Масивы | vasya9 | Помощь студентам | 0 | 07.11.2011 01:22 |
масивы | dimondru | Общие вопросы C/C++ | 1 | 30.05.2011 23:10 |
масивы с++ | Smile.id | Помощь студентам | 1 | 25.11.2009 15:09 |
С++ масивы | Миха Шебалкин | Помощь студентам | 0 | 03.06.2009 22:33 |