- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день!
Есть задача, необходимо разобрать массив данных в новый с 24 элементами.
в каждом элементе результата сумма элементов input с шагом в 24, стартовый индекс увеличивается на 1 для каждого последующего элемента.
См подробней конец поста.
Всего в массиве 744 элемента.
вид input массива:
$input[0]=значение
$input[1]=значение
и тп.
надо обработать так чтобы на выходе получилось:
$output[0]=СУММА($input[0]+$input[24]+$input[48]...)
$output[1]=СУММА($input[1]+$input[25]+$input[49]...)
$output[2]=СУММА($input[2]+$input[26]+$input[50]...)
...
$output[23]=СУММА($input[23]+$input[47]+$input[71]...)
У кого нить есть светлые мысли?
Пытаюсь что нить придумать, мозг выпадает с крит еррором =(
А в чём проблема то ???
Я щас спать, стукнись ко мне в асю 209442516 после 23 00 по москве, минут за 15 сделаю
Наверное проще всего сделать обратный цикл от 743 до 0, где постепенно будут считаться суммы чисел (т.е. куски массива от i до 743).
$output = $input + $input[i+24]
Так придется делать сумму всего лишь двух чисел за итерацию.
Естественно с проверкой на выход за пределы размерности массива.
for ($i = 0; $i < 24; $i++) {
$output[$i] = 0;
for ($j = 0; $j < 744; $j += 24)
$output[$i] += $input[$i + $j];
}
не тестил
Если я правильно понял задачу, то вот так:
Ох, быдлокодеры... Не учили в институте что вложенные циклы - зло.
При определенных настройках php или при игнорировании ошибок даже условие можно убрать, оставить оттуда только первую клаузу.
как обычно, в отсутствие ТС (видимо, очень "важная" задача) предлагается с десяток вариантов, потом начинается соревнование в наиболее коротком и элегантном написании кода, а потом приходит ТС, говорит, что задача была совсем другая и разовая, и вообще он все уже на калькуляторе посчитал :D
как обычно, в отсутствие ТС (видимо, очень "важная" задача) предлагается с десяток вариантов, потом начинается соревнование в наиболее коротком и элегантном написании кода, а потом приходит ТС, говорит, что задача была совсем другая и разовая, и вообще он все уже на калькуляторе посчитал :D
А что в этом ненормального? ТС явно просит ему помочь. Все и помогают, кто как может. Кто то советом, кто-то кодом, кто-то флудом ;)
Спасибо всем за ваши варианты, ехал из офиса домой, не мог мониторить темы, сорри =)
задача важная, не разовая и на калькуляторе не считабельна.
А что в этом ненормального?
Дык я и не против совсем, хоть флудом помогу:)
PS: рад, что получилось не как всегда:)
PS. neolord, в институте также учат, что count() надо считать до цикла for ;)