[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Полусумма соседних элементов массива
ViTYAi
Доброго времени суток!

Есть массив $temp. Необходимо посчитать полусумму (среднее арифметическое) соседних элементов массива и занести данные в массив $temp2 в следующем порядке:

$temp[0], ($temp[0]+$temp[1])/2, $temp[1], ($temp[1]+$temp[2])/2 ,$temp[2]... и т. д.


Подскажите, пожалуйста, как это реализовать...



Спустя 1 час, 52 минуты, 51 секунда (2.12.2009 - 08:49) sergeiss написал(а):
Делаешь цикл, и в цикле всё делаешь... Или тебе нравятся другие варианты?

Спустя 1 час, 10 минут, 54 секунды (2.12.2009 - 09:59) ViTYAi написал(а):
Цитата
Делаешь цикл, и в цикле всё делаешь... Или тебе нравятся другие варианты?

Расчитывал на кусочек кода wink.gif
Вариант с циклом устраивает, не получается слить весь результат в $temp2...

Спустя 27 минут, 9 секунд (2.12.2009 - 10:27) sergeiss написал(а):
Цитата (ViTYAi @ 2.12.2009 - 10:59)
Расчитывал на кусочек кода

У-у-у, ты какой! smile.gif

Не первый день на форуме, знаешь: показывай свой код, задавай конкретные вопросы, что не понятно. Тогда и с кодом можешь помощь получить. Когда сам поработаешь.

Подсказка: если (судя по написанному) индексы массива целочисленные, то тогда тут цикл for() подойдет лучше всего.

Спустя 4 часа, 24 минуты, 57 секунд (2.12.2009 - 14:52) ViTYAi написал(а):
Цитата
показывай свой код, задавай конкретные вопросы

Код, который вставляет полусумму в массив $temp2 из $temp:
$temp2[] = $temp[0];
for($i = 1; $i < count($temp); $i++)
{
$temp2[] = ($temp[$i] + $temp[$i-1])/2;
}

А как модифицировать его, чтобы втсавлялась не только полусумма, но и сами значения из $temp ???

Спустя 4 минуты, 3 секунды (2.12.2009 - 14:56) Michael написал(а):
// $temp - исходный массив с целочисленным индексом от 0
$col = count($temp);
$temp2 = array();
for ($i = 0 ; $i < $col; $i++)
{
$temp2[] = $temp[$i];
if ($i <= ($col - 2)) $temp2[] = ($temp[$i] + $temp[$i+1])/2;
}

Спустя 1 час, 41 минута, 59 секунд (2.12.2009 - 16:38) dr_Lev написал(а):
ViTYAi
Цитата
А как модифицировать его, чтобы втсавлялась не только полусумма, но и сами значения из $temp ???

перед строчкой
$temp2[] = ($temp[$i] + $temp[$i-1])/2;
добавь строку
$temp2[] = $temp[$i];
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.