Есть массив $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 написал(а):
Цитата |
Делаешь цикл, и в цикле всё делаешь... Или тебе нравятся другие варианты? |
Расчитывал на кусочек кода
Вариант с циклом устраивает, не получается слить весь результат в $temp2...
Спустя 27 минут, 9 секунд (2.12.2009 - 10:27) sergeiss написал(а):
Цитата (ViTYAi @ 2.12.2009 - 10:59) |
Расчитывал на кусочек кода |
У-у-у, ты какой!
Не первый день на форуме, знаешь: показывай свой код, задавай конкретные вопросы, что не понятно. Тогда и с кодом можешь помощь получить. Когда сам поработаешь.
Подсказка: если (судя по написанному) индексы массива целочисленные, то тогда тут цикл 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];