forum.rastrnet.ru  

Вернуться   forum.rastrnet.ru > Компьютеры и всё, что с ними связано > Программируем

 Сообщения за день       Добавить альбом       Поиск      Правила форума  


Ответ
 
Опции темы Опции просмотра
Старый 21.04.2005, 12:07   #1
PAPA_KARLO
Несмешной
 
Аватар для PAPA_KARLO
 
Регистрация: 20.07.2004
Сообщений: 1,244
Отправить сообщение для PAPA_KARLO с помощью ICQ
По умолчанию Обход массива по спирали

можете кто нибудь подсказать алгоритм обхода по спирали, по часовой стрелке квадратного массива нечётной размерности? Исходник не нада, просто алгоритм
__________________
IMHO
PAPA_KARLO вне форума   Ответить с цитированием
Старый 21.04.2005, 20:29   #2
COBEHOK
Новичок
 
Регистрация: 17.08.2004
Сообщений: 780
По умолчанию

примерно так
Код:
N - размер
A = array [0..N-1, 0..N-1]
i = 1  // просто счетчик
for(level = 0; level <= N/2; level++)
{
  for(cols1 = level; cols1 < N - level; cols++)
     A[level,cols1] = i++;
  for(rows1 = level + 1; rows1 < N - level; rows++)
     A[rows1,N-level-1] = i++
  for(cols2 = N-level-2; cols2 >= level; cols2--)
     A[N-level-1,cols2] = i++
  for(rows2 = N-level-2; rows2 > level; rows2--)
    A[rows2,level] = i++
}
COBEHOK вне форума   Ответить с цитированием
Старый 22.04.2005, 23:07   #3
PAPA_KARLO
Несмешной
 
Аватар для PAPA_KARLO
 
Регистрация: 20.07.2004
Сообщений: 1,244
Отправить сообщение для PAPA_KARLO с помощью ICQ
По умолчанию

это на Сишке? Под Пас сможешь переделать или словами объяснить ? Синтаксис вобще не знаю
__________________
IMHO
PAPA_KARLO вне форума   Ответить с цитированием
Старый 22.04.2005, 23:15   #4
DeathMoroz
Гость
 
Сообщений: n/a
По умолчанию

а зачем вы такие задачки решаете? для развлечения?
  Ответить с цитированием
Старый 23.04.2005, 23:52   #5
PAPA_KARLO
Несмешной
 
Аватар для PAPA_KARLO
 
Регистрация: 20.07.2004
Сообщений: 1,244
Отправить сообщение для PAPA_KARLO с помощью ICQ
По умолчанию

знакомые попросили, вот и задумался, 2 дня голову ломал, так ничего путнего и не придумал, обрывки какие то есть в голове, а аформить не могу
__________________
IMHO
PAPA_KARLO вне форума   Ответить с цитированием
Старый 25.04.2005, 10:20   #6
COBEHOK
Новичок
 
Регистрация: 17.08.2004
Сообщений: 780
По умолчанию

Цитата:
Сообщение от PAPA_KARLO
это на Сишке? Под Пас сможешь переделать или словами объяснить ? Синтаксис вобще не знаю
Это алгоритм как ты и просил

for(cols1 = level; cols1 < N - level; cols++) означает примерно следубщее
Цикл cols1 от (level) до (N - level) с шагом 1

for(cols2 = N-level-2; cols2 >= level; cols2--) означает
Цикл cols2 от (N-level-2) до (level) с шагом -1

A[level,cols1] = i++; означает i = i + 1; A[level,cols1]=i;
COBEHOK вне форума   Ответить с цитированием
Старый 16.05.2005, 19:47   #7
TiRex
Red Machine!
 
Аватар для TiRex
 
Регистрация: 18.07.2004
Сообщений: 1,401
По умолчанию

Цитата:
Сообщение от COBEHOK
A[level,cols1] = i++; означает i = i + 1; A[level,cols1]=i;
Ошибся ты немного.
A[level,cols1]=i++; означает A[level,cols1]=i; а только потом i=i+1;
__________________
1: Андрей, я тебя ненавижу!
2: Хм, надо же. А кого ненавижу я? А давай угадывать?
TiRex вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Клуб Веселых и Находчивых Vitall В поисках Фильма 204 21.07.2009 20:26
Путевой обходчик и Антидурь ~AngelBoy~ В поисках Фильма 3 24.09.2007 10:11
Velvet, Массква K!ana В поисках музыки 3 15.11.2006 21:42
Спирали! ЭГОИСТКА В поисках музыки 1 11.10.2006 17:11


Текущее время: 17:29. Часовой пояс GMT +7.


Powered by vBulletin® Version 3.8.4 Patch Level 5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Форум открыт в июле 2004 г.
Кошки и котята Красноярска и Сибири Живой Мир Сибири