Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.06.2016, 04:02
Новичок на форуме
Отправить личное сообщение для studyuser Посмотреть профиль Найти все сообщения от studyuser
 
Регистрация: 04.06.2016
Сообщений: 2

Спираль из массива данных
Есть массив чисел с переменной длинной и значениями.

Например такой: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

Как сделать вывод по спирали чтобы получилось чтото подобное?
1 10 9
2 11 8
3 12 7
4 5 6

Т.е вниз - вправо - вверх - влево, и по новой. Размер матрицы тоже будет различный в зависимости от длинны массива
Ответить с цитированием
  #2 (permalink)  
Старый 04.06.2016, 10:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от studyuser
Размер матрицы тоже будет различный в зависимости от длинны массива
алгоритм этой зависимости где?
Ответить с цитированием
  #3 (permalink)  
Старый 04.06.2016, 12:13
Новичок на форуме
Отправить личное сообщение для studyuser Посмотреть профиль Найти все сообщения от studyuser
 
Регистрация: 04.06.2016
Сообщений: 2

Сообщение от рони Посмотреть сообщение
алгоритм этой зависимости где?
Есть функция по вычислению числа фибаначи, которая возвращает массив значений. Количество значений зависит от числа которое введено в инпут.

Html:
<input type="text" value="" id="userInput"/>
 <button id="submitBtn" class="go">Go!</button>


javascript:
function fibo(n) {
        var f = [];
        for (var c = 0; c < n; ++c) {
            f.push((c < 2) ? c : f[c - 1] + f[c - 2]);
        }
        return f;
    }

function Fibonacci() {
         var inputValue = document.getElementById("userInput").value;

            var fibArray = fibo(inputValue);
            //console.log(fibArray);
            //alert(fibArray);
}
document.getElementById("submitBtn").addEventListener("click", Fibonacci);



Например вводим в форму число:
11 получаем [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
25 - [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368]

Получется для любого полученного массива нужно как то сделать квадратную матрицу и завернуть змейкой к центру, начиная вниз и вправо.
Ответить с цитированием
  #4 (permalink)  
Старый 04.06.2016, 13:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

studyuser,
нет алгоритма по прежнему, как строить вашу матрицу и фибаначи тут не причём, есть массив определённой длины, из него надо получить нечто, как строить это нечто неизвестно почему так
Сообщение от studyuser
1 10 9
2 11 8
3 12 7
4 5 6
а не так например
1 10 9 8
2 11 12 7
3 4 5 6
а если 11 то как будет а если 3 или 2 или 1 или 19?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывод данных из массива JSON Vincent Vega jQuery 19 04.03.2016 13:44
Проблема получения объекта JSON espltd Элементы интерфейса 13 03.02.2016 14:55
Вывод данных массива через AJAX Вячеслав Павлик AJAX и COMET 1 22.11.2014 09:52
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Выборка массива данных с inputa Beriagts jQuery 9 05.08.2011 13:04