Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задача про спираль ) 
:(
    Опции темы
IBS
Дата 4.11.2009, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 29.7.2008
Где: Белоруссия

Репутация: нет
Всего: 6



получить квадратную матрицу порядка 7, элементами которой являются числа 1,2,3,4,......,49  расположенные в ней по спирали.

типа так:
123
894
765
тока длина строки 7

Я решал раньше, но там длину строки задавал с клавы, однако решение у меня листа на 4 чистого кода, а если ещё блок схему катать, то вообще вешайся))))
Короче знает кто более-менее рациональное решение?
PM MAIL   Вверх
Keeper89
Дата 4.11.2009, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: нет
Всего: 58



IBS, в Интернете полно решений, и на Винграде тоже есть smile : http://forum.vingrad.ru/index.php?showtopi...t&p=1214030

З.Ы. Внизу есть три ссылки, зачем создавать еще темы?  smile 

Это сообщение отредактировал(а) Keeper89 - 4.11.2009, 20:11


--------------------
PM MAIL WWW   Вверх
THandle
  Дата 5.11.2009, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: нет
Всего: 372



Задачка на спираль была одной из задач в нашем прошлогоднем конкурсе... Решений достаточно:

http://forum.vingrad.ru/index.php?showtopi...t&p=1678005
PM   Вверх
IBS
Дата 5.11.2009, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 29.7.2008
Где: Белоруссия

Репутация: нет
Всего: 6



Цитата

Решений достаточно:

Там все решения очень грамоздкие, такое я и сам написал, вот офигенно решение:
Код

uses crt;
const
 n=10;
var
  i,j,di,dj,k,t:integer;
  a: array[1..n,1..n] of integer;
begin
i:=1; j:=0; di:=0; dj:=1;
for k:=1 to n*n do
  begin
  if (i+di<1) or (n<i+di) or (j+dj<1) or (n<j+dj) or (a[i+di,j+dj]<>0) then
    begin t:=di; di:=dj; dj:=-t; end;
  i:=i+di; j:=j+dj; a[i,j]:=k;
  end;
end.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0534 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.