IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Заполнение массива по спирали числами из ряда Фибо
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 17

Репутация: -  0  +


Кто нибудь помогите


Заполнение массива по спирали числами из ряда Фибоначчи. Заполнить квадратную матрицу – массив NxN по спирали числами из ряда Фибоначчи. Результат вывести в файл. N – описывается в разделе описания констант.
Первые два числа ряда Фибоначчи равны 1 и 2, каждое следующее число вычисляется как сумма двух предыдущих. Приведем первые 9 членов ряда: 1,2,3,5,8,13,21,34,55…
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Код

Function GetNext(Var a,b:Integer):Integer;
Var
 Result:Integer;
Begin
 Result:=a+b;
 a:=b;
 b:=Result;
 GetNext:=Result
End;                                {Ужасно выглядит}

Const
 N=5;

Var
 Matrix:Array[1..N,1..N] Of Integer;
 n1,n2,i,k,x,y,d:Integer;

Begin
 n1:=1;
 n2:=1;
 k:=n-1;
 x:=1;
 y:=1;
 d:=1;
 Matrix[1,1]:=1;
 Repeat
   For i:=1 To 3 Do
   Begin
     For j:=1 To k Do
     Begin
       Case d Of
         1:Inc(x);
         2:Inc(y);
         3:Dec(x)
         Else Dec(y)
       End;
       Matrix[x,y]:=GetNext(n1,n2)
     End;
     Dec(k);
     d:=(d+1) Mod 4
   End
 Until k=0;
 For j:=1 To N Do
 Begin
   For i:=1 To N Do
     Write(Matrix[i,j]);
   WriteLn
 End
End.

Ну, или что-то похожее...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 24.11.2020 12:54
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name