Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Andrew Ezhguroff                     2:5020/400     13 Nov 2002  04:17:09
 To : Oleg Zhigalov
 Subject : Re: Змейка
 -------------------------------------------------------------------------------- 
 
 Привет! "Oleg Zhigalov" <Oleg.Zhigalov@p11.f73.n5054.z2.fidonet.org>
 сообщил(а):
 
  OZ> буду очень пpизнателен кто поделится алгоpитмом по заполнению 2х меpной
  OZ> матpицы по спиpали (можно из центpа либо из внешних гpаней)
  OZ> p/s/ pазмеp матpицы динамический
 
 Исходник, который делался для сходной задачи (квадратная матрица, заполнение
 снаружи к центру):
 
 // Буфер, в который записывается матрица
 int Matrix[100][100];
 
 // Таблица приращений x и y для 4-х направлений
 int Delta[4][2] = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};
 
 // Генерация матрицы
 void Gen_Matrix(int N){
   int x=0;
   int y=0;
   int Count = 1;
 
   // Последовательно заполняем квадраты, начиная с наружнего
   for(int Len=(N-1); Len>0; Len-=2){
     // Заполняем очередной квадрат
     for(int Index=0; Index<4; Index++){
       for(int Tmp=0; Tmp<Len; Tmp++){
         Matrix[y][x]=Count;
         y+=Delta[Index][0];
         x+=Delta[Index][1];
         Count++;
       }
     }
     // Переходим к следующему квадрату
     x++;
     y++;
   }
   // Если размер нечетный, заполняем центральное поле
  if(Count==N*N)Matrix[y][x]=Count;
 }
 
 С уважением, Андрей.
 -- 
 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
 --- ifmail v.2.15dev5
  * Origin: Talk.Mail.Ru (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Змейка   Oleg Zhigalov   12 Nov 2002 01:37:38 
 Re: Змейка   Rustam Ramazanov   12 Nov 2002 19:41:36 
 Re: Змейка   Andrew Starsh   12 Nov 2002 19:10:01 
 Re: Змейка   Andrew Ezhguroff   13 Nov 2002 04:17:09 
 Змейка   Nickita A Startcev   18 Nov 2002 13:52:52 
Архивное /ru.algorithms/6488d8db1579.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional