|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Rustam Ramazanov 2:5020/400 12 Nov 2002 19:41:36 To : Oleg Zhigalov Subject : Re: Змейка -------------------------------------------------------------------------------- Приветствую! OZ> буду очень пpизнателен кто поделится алгоpитмом OZ> по заполнению 2х меpной матpицы OZ> по спиpали (можно из центpа либо из внешних OZ> гpаней) OZ> p/s/ pазмеp матpицы динамический Вот для квадратной. Для прямоугольной сам адаптируешь. Заполнение, начиная с верхнего левого угла ------------------------------------------- //n - размер матрицы int i=1; int j,k; int p=n/2; for (k=1;k<=p;k++) { for (j=k;j<=n-k+1;j++) A[k][j]=i++; for (j=k+1;j<=n-k+1;j++) A[j][n-k+1]=i++; for (j=n-k;j>=k;j--) A[n-k+1][j]=i++; for (j=n-k;j>k;j--) A[j][k]=i++; } if (n%2==1) A[p+1][p+1]=n*n; ------------------------------------------ Должно работать. Рустам. -- Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5 * Origin: Talk.ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/648882e566f0.html, оценка из 5, голосов 10
|