Чат Telegram
Группа ВКонтакте
Новый комментарий


mahasamatman 22.09.2017 в 16:37
<?php

$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds = 0;
$countOfCars = 0;

foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
    $countOfCars ++;
}

$averageSpeed = $sumOfSpeeds / $countOfCars;

echo 'Средняя скорость движения по трассе: ' . $averageSpeed;
ivashkevich 22.09.2017 в 16:49

Всё правильно)

vasyaproject 11.10.2017 в 00:19

А я не так делал, просто добавил $index и подсчитал его, это неправильно?

<?php 

$carWeight = [
    905,
    1200,
    1400
];

echo "Вес первой машины $carWeight[0] кг <br>
Вес второй машины $carWeight[1] кг <br>
Вес третьей машины $carWeight[2] кг <br>";

$sumCarWheight = 0;

foreach ($carWeight as $index => $wheight) {
    $sumCarWheight += $wheight;
    $sumCarIndex += $index;
}

echo 'Средний вес машин = ' . $sumCarWheight / $sumCarIndex . 'кг';

?>
vasyaproject 11.10.2017 в 00:30

а нее, это неправильно :( уже сам увидел ошибку, если так, то оно просто складывает не порядковые index, а их числовые значения, надо тогда наверно так $sumCarIndex = $index + 1; или использовать такое $sumCarIndex = ++$index;

<?php 

$carWeight = [
    905,
    1200,
    1400
];

echo "Вес первой машины $carWeight[0] кг <br>
Вес второй машины $carWeight[1] кг <br>
Вес третьей машины $carWeight[2] кг <br>";

$sumCarWheight = 0;

foreach ($carWeight as $index => $wheight) {
    $sumCarWheight += $wheight;
    $sumCarIndex = $index + 1;
}

echo 'Средний вес машин = ' . $sumCarWheight / $sumCarIndex . 'кг';

?>
ivashkevich 11.10.2017 в 17:03

Нет, неправильно. $sumCarIndex - сумма индексов, и она никак не соотносится с числом автомобилей, на которое нужно поделить сумму весов.
Вам просто повезло, что 0 + 1 + 2 = 3.
Если появится ещё один автомобиль то у вас уже будет 0 + 1 + 2 + 3 = 6.

XXX 31.08.2019 в 19:42

Оно все таки подсчитывает количество машин, а не сумму индексов. Даже если их будет больше чем 3. Можете проверить.

<?php
$carsSpeeds = [
    95,
    140,
    78,
    100,
    930
];

foreach ($carsSpeeds as $index => $speed) {
     $sumOfSpeeds  += $speed;
     $sumOfCars = $index + 1;
}
echo 'Количество машин' .' '. $sumOfCars . "<br>" ;
echo 'Средняя скорость движения по трассе: ' . $sumOfSpeeds/$sumOfCars;
ivashkevich 31.08.2019 в 21:02

Не стоит полагаться на индексы для этой задачи. Ведь входной массив может оказаться таким:

$carsSpeeds = [
    5 => 95,
];

Если нужно получить число элементов, нужно их посчитать, а не добывать это число из каких-то посторонних мест.

Если массив придет пустым, скрипт вообще вывалит ошибок. Потому что переменные не проинициализированы начальными значениями перед циклом.

trialex3 22.09.2017 в 23:48
<?php
$carsSpeeds = [
    95,
    140,
    78,
    100,
    39
];
$sumOfSpeed = 0;
foreach ($carsSpeeds as $speed) {
    $sumOfSpeed += $speed;
}
$countOfCars = count($carsSpeeds);

$averageSpeed = $sumOfSpeed / $countOfCars;

echo 'Средняя скорость ' . $countOfCars . ' машин, ' . ' движущихся со скоростями ';
foreach ($carsSpeeds as $speed) {
    echo $speed . ', ';
}
echo 'равняется ' .'~' . (int)$averageSpeed;
?>
ivashkevich 23.09.2017 в 02:48

Вы читали задание?

WarLikeLaux 10.11.2017 в 17:23

enter image description here

ivashkevich 11.11.2017 в 13:52

Непонятно, для чего вам здесь переменная $count, переменные $countOfCars и $sumOfSpeeds нужно определить перед циклом равными нулю. Иначе непонятно, что там за значения.

WarLikeLaux 10.11.2017 в 17:26

Высчитывание среднего арифметического внутри функции, правда с использованием count
enter image description here

ivashkevich 11.11.2017 в 13:49

Это бессмысленно - каждый раз проверять в цикле условие, которое выполнится лишь в конце. Нужно просто добавить счётчик перед циклом и увеличивать его внутри цикла. Попробуйте ещё раз.
Ах да, начинать нумерацию элементов массива с 1 тоже не надо.

serb2017 15.11.2017 в 11:36
$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds = 0;
foreach ($carsSpeeds as $index => $speed) {
        $sumOfSpeeds += $speed;
}
$averageSpeed = $sumOfSpeeds / ($index+1);

echo 'Средняя скорость движения по трассе без count: ' . $averageSpeed;
ivashkevich 18.11.2017 в 13:39

Хорошо, но было бы лучше не полагаться на индексы массива, а сделать переменную $count = 0 перед циклом. И затем в каждой итерации увеличивать её на 1. Так будет более надежно. На случай, если какой-нибудь хулиган явно укажет значения индексов в исходном массиве =)

aseke465@gmail.com 08.06.2018 в 12:53

Что неправильно? Найти средний бал семестра

<?php

$balls = [
    '1semestr' => [54,56,78,98,56,87],
    '2semestr' => [54,56,78,98,98],
    '3semestr' => ['1rubejka'=>[56,67,89], '2rubejka' => [76,78,98,90]],
];

?>
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title><?=$students['student1']?></title>
</head>
<body>
<h1><?
$sum_1sem =0;
$sum_2sem = 0;
$sum_3sem_1rub=0;
$sum_3sem_2rub = 0;
$sum_3sem = 0;
$sum_All=0;
foreach ($balls as $valueAll){
    foreach ($balls as $value_1sem){
        $sum_1sem+=$value_1sem;
        echo $sum_1sem/count($sum_1sem);
    }
    foreach ($balls as $value_2sem){
        $sum_2sem+=$value_2sem;
        echo $sum_1sem/count($sum_1sem);
    }
    foreach ($balls as $value_3sem){
        foreach ($balls as $value_1rub){
            $sum_3sem_1rub+=$value_1rub;
            echo $sum_3sem_1rub/count($sum_3sem_1rub);
        }
        foreach ($balls as $value_2rub){
            $sum_3sem_1rub+=$value_2rub;
            echo $sum_3sem_2rub/count($sum_3sem_2rub);
        }
        $sum_3sem+=$value_3sem;
        echo $sum_3sem/count($sum_3sem);
    }
    $sum_All+=$valueAll;
    echo $sum_All/count($sum_All);
}
?>
</body>
</html>
ivashkevich 08.06.2018 в 13:40

А вы настройте отладчик и сами всё поймёте. Если не получится - подскажу.

SlipKnot 06.07.2018 в 11:10

Домашка:

<?php
$carsSpeeds = [
    120,
    180,
    320
];
foreach ($carsSpeeds as $key => $cars)
{
    $count += $key;
    $speed += $cars;
}
echo 'Общее количество машин - ' . $count . '<br>';
echo 'Средняя скорость по трассе - ' . $speed / $count . ' км/ч<br>';
ivashkevich 06.07.2018 в 18:16

Тут ошибка. Если в массив добавится ещё одна скорость, значение $count станет равным 6, а вам нужно получить число 4.

SlipKnot 09.07.2018 в 03:44

Спасибо за ответ, сам бы не увидел и не догадался. Ну вот вроде исправил, добавил условие, если $keys >= 0, то прибавляем 1 в $count.

<?php
$carsSpeeds = [
    120,
    180,
    320,
    200,
    360
];
$count = 0;
foreach ($carsSpeeds as $key => $cars)
{
   if ($key >= 0) {
       $count += 1;
       $speed += $cars;
   }
}
echo 'Общее количество машин - ' . $count . '<br>';
echo 'Средняя скорость по трассе - ' . $speed / $count . ' км/ч<br>';
ivashkevich 09.07.2018 в 15:56

А для чего вам это условие?

SlipKnot 10.07.2018 в 05:28

Чтобы посчитать количество значений в массиве, только такая конструкция пришла на ум, и она работает) поправьте если не прав.

ivashkevich 10.07.2018 в 16:09

А что будет, если убрать if, но оставить в цикле строки

       $count += 1;
       $speed += $cars;

Что-нибудь изменится?

Kirill123 09.07.2018 в 22:10
$count = 0;
$resultOfSpeeds = 0;
$averageSpeeds = 0;

$carsSpeed = [
    95,
    140,
    78
];

foreach( $carsSpeed as $carSpeed ) {
    $count++;
    $resultOfSpeeds += $carSpeed;
}

$averageSpeeds = $resultOfSpeeds / $count;

echo $averageSpeeds;
ivashkevich 10.07.2018 в 16:09

Отлично!

Kirill123 12.07.2018 в 00:58

:)

Fox-24 13.08.2018 в 13:53

Спс за урок!)

$carsSpeeds = [
    85,
    102,
    70
];

$sumOfSpeeds = 0;

$countOfCars = 0;
foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
    $countOfCars = $countOfCars+1;
}

$averageSpeed = $sumOfSpeeds / $countOfCars;

echo 'Средняя скорость движения по трассе: ' . $averageSpeed;
ivashkevich 13.08.2018 в 15:27

Отлично! Но вместо

$countOfCars = $countOfCars+1;

лучше

$countOfCars++;
Fox-24 13.08.2018 в 15:28

Хорошо) Спасибо!

stasokulov@gmail.com 12.09.2018 в 00:00
<?php
$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds = 0;
$counter = 0;

foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
    $counter++;
}

$averageSpeed = $sumOfSpeeds / $counter;

echo 'Средняя скорость движения по трассе: ' . $averageSpeed;
ivashkevich 22.09.2018 в 10:06

Супер =)

Benya 18.09.2018 в 13:49
<?php

$carSpeeds = [
    95,
    140,
    78
];

$sumOfSpeed = 0;

foreach ($carSpeeds as $speed) {
    $sumOfSpeed +=$speed;
    $i++;

}
$averageSpeed = $sumOfSpeed / $i;

echo 'Средняя скорость движения по трасе:' . $averageSpeed;
ivashkevich 22.09.2018 в 10:06

Отлично!

Bogdan 11.12.2018 в 15:42

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

ivashkevich 11.12.2018 в 23:03

Нет. В PHP не ограничивается.

virtual2018 20.11.2018 в 16:39
$sumOfSpeeds = 0;
$countOfCars = 0;

foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
    $countOfCars++;
}

$averageSpeed = $sumOfSpeeds / $countOfCars;
ivashkevich 20.11.2018 в 23:45

Супер!

Mike 27.11.2018 в 16:38
<?php
$carSpeed = [
    90,
    87,
    115,
    56,
    170,
    10
];
$index=0;
$sumSpeed=0;
foreach ($carSpeed as $speed) {
   $index+=1;
   $sumSpeed+=$speed;

}
$averageSpeed = $sumSpeed / $index;
echo 'количество машин ' . $index . '<br>';
echo 'средняя скорость машин ' . $averageSpeed;
ivashkevich 28.11.2018 в 22:29

Лучше назвать count а не index.

Bogdan 11.12.2018 в 15:39
<?php

$score = 0;
$countOfCars = 0;
$carsSpeeds = [95, 140, 78];
foreach ($carsSpeeds as $index => $value) {
    $countOfCars += 1;
    $score += $carsSpeeds[$index];
}
echo $score / $countOfCars;

может конечно забегаю вперед, но а если цикл двумерный, как пройти по всем индексам? допустим я не знаю что цикл двумерный, и пошел командой foreach, а оно показало Array и все...

ivashkevich 11.12.2018 в 23:07

Можно проверять текущее значение с помощью is_array. Если массив - запускать снова foreach. А еще можно сделать функцию рекурсивной - на вход принимает массив и перебирает все его элементы. Если элемент является массивом - вызывает себя же, передав в качестве аргумента этот элемент.

XXX 06.01.2019 в 15:15

<?php

$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds = 0;
$i=0;

foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
    $i++;

$averageSpeed = $sumOfSpeeds / $i;

echo 'Средняя скорость движения по трассе: ' . $averageSpeed;
ivashkevich 06.01.2019 в 23:11

Отлично!

SashkoUkraine 21.01.2019 в 10:03
$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds;
$carsSpeedsLength = 0;

foreach ($carsSpeeds as $index => $speed) {
    $sumOfSpeeds += $speed;
    $carsSpeedsLength = $index;

}

$avarageSpeed = $sumOfSpeeds / ($carsSpeedsLength + 1);

echo $avarageSpeed;
ivashkevich 21.01.2019 в 10:21

Length? Больше подходит Sum.

SashkoUkraine 21.01.2019 в 10:54

Это ж типа "Длина массива" а не сумма, я так думал.

ivashkevich 21.01.2019 в 21:17

Сорри, все правильно)

volodia.pavloff201343@gmail.com 02.02.2019 в 14:34

в данном случае программа сработает верно, но если например массив выглядит как:
$carsSpeeds = [
'0'=>'95',
'1'=>'140',
'3'=>'78'
];
Ну или другими словами в какой-то момент машина с индексом 2 сойдет с дистанции, весь алгоритм нарушиться.
Да и если просто добавить еще одну машину, все собьется!

Pro100Bah 25.01.2019 в 12:11
<?php
$carsSpeeds = [
    95,
    140,
    78,
    160.5,
    'Стояла на месте, бензин кончился!!!',
    Null
];
var_dump($carsSpeeds);

$sumOfSpeeds = 0;
$sumOfIndex = 0;
foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
    $sumOfIndex ++;
}
echo 'Сумма скоростей: ' . $sumOfSpeeds . '<br>';

$averageSpeed = $sumOfSpeeds / $sumOfIndex;
echo 'Средняя скорость: ' . $averageSpeed;
ivashkevich 25.01.2019 в 21:32
    'Стояла на месте, бензин кончился!!!',
    Null

Это что за дичь? Будут ошибки же.

Pro100Bah 26.01.2019 в 07:29

Да хотел попробовать , что будет если внести в массив другие типы данных, как он будет считать, просто ради интереса)

ivashkevich 27.01.2019 в 10:46

Ну и как?)

red.shuhov48@gmail.com 25.01.2019 в 17:28
        $carsSpeeds =[
            95,
            140,
            78
        ];

        $countOFCars = 0;

        foreach ($carsSpeeds as $x ){
            $sumOfSpeeds += $x;
            $countOFCars = $countOFCars + 1;
        }

        echo $sumOfSpeeds/$countOFCars;
ivashkevich 25.01.2019 в 21:37

Отлично

Pro100Bah 28.01.2019 в 16:16

Мне кажется или я ошибаюсь, но $sumOfSpeeds переменная не объявлена, хотя считает все верно?

$carsSpeeds = [
    95,
    140,
    78
];

$countOFCars = 0;
$sumOfSpeeds = 0;
foreach ($carsSpeeds as $x) {
    $sumOfSpeeds += $x;
    $countOFCars = $countOFCars + 1;
}

echo $sumOfSpeeds / $countOFCars;

Вот так может быть правильнее? у (red.shuhov48@gmail.com)

ivashkevich 29.01.2019 в 07:13

Да, так правильнее. PHP просто так работет, что если для неициализированной переменной начать применять математические операции, то он посчитает её равной нулю. Однако, это затрудняет понимание кода и инициализировать переменные перед использованием стоит всегда.

red.shuhov48@gmail.com 29.01.2019 в 10:30

я про это не знал,что автоматически присваивает 0...
только все равно не пойму зачем их обьявлять и присваивать нулевое значение,я подумал что в больших программах я бы рядом комментарий поставил,разве это не верно?
или же Вы все таки посоветуете нулевые обьявлять как 0 и потом использовать?

ivashkevich 29.01.2019 в 23:33

Всегда объявляйте. Так более явно и наглядно. Иначе можно долго думать о том, где переменная объявлена и какое у неё сейчас значение.

ivashkevich 29.01.2019 в 07:13

Привет. Обрати внимание на комментарии внизу.

alex.evg.ostr 21.02.2019 в 18:01
Так, если схитрить ))
<?php
$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds = 0;

foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
}

$sizeOfCars = sizeof($carsSpeeds);

$averageSpeed = $sumOfSpeeds / $sizeOfCars;

echo 'Средняя скорость движения по трассе: ' . $averageSpeed;

И так , если выполнить задание безусловно

<?php
$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds = 0;
$counter = 0;

foreach ($carsSpeeds as $speed) {
    $counter++;
    $sumOfSpeeds += $speed;
}

$averageSpeed = $sumOfSpeeds / $counter;

echo 'Средняя скорость движения по трассе: ' . $averageSpeed;
ivashkevich 24.02.2019 в 17:32

Отлично!

rashik-2009@yandex.ru 26.02.2019 в 15:41
<?php

$temperature = [
   'morning' => 2,
   'noon' => 5,
   'evening' => 3,
   'night' => 0
];

$sumOftemperatures = 0;
$count = 0;

foreach ($temperature as $value) {
    $sumOftemperatures += $value;
    $countOfvalue = ++$count;
}

$avarageTemperature = $sumOftemperatures / $countOfvalue;

echo 'Среднесуточная температура равна: ' . $avarageTemperature . ' градуса(ов)';

?>
ivashkevich 02.03.2019 в 16:39
$countOfvalue = ++$count;

Так делать не нужно. Достаточно просто:

$count++;
ashfedor 06.03.2019 в 21:37
$sum = 0;
$count = 0;
foreach ($carsSpeds as $sped){
    $sum = $sum + $sped;
    $count += 1;
}

 echo 'средняя скорость ' . $sum / $count;
ivashkevich 08.03.2019 в 18:57

Отлично

babls2332@gmail.com 09.03.2019 в 22:59
<?php
$countOfCars = 0;
$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds = 0;

foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
    $countOfCars++;
}

$averageSpeed = $sumOfSpeeds / $countOfCars;

echo 'Средняя скорость движения по трассе: ' . $averageSpeed;
ivashkevich 10.03.2019 в 11:09

Отлично! =)

Grewi 14.03.2019 в 01:14
$carSpeed = [
    45,
    84,
    103,
    55
];
$carSpeedSumm = 0;
$carNumber = 0;
foreach ($carSpeed as $speed) {
    $carSpeedSumm += $speed;
    $carNumber++;
}
$carAverage = $carSpeedSumm / $carNumber;
echo 'Средняя скорость движения по трассе: ' . (int)$carAverage . 'км/ч';
ivashkevich 14.03.2019 в 09:17

$carNumber нужно перед циклом определить, как равную нулю.

Grewi 14.03.2019 в 13:10

Определил переменные равными нулю, но зачем - не совсем понял. Они, вроде бы, правильно определялись в самом цикле?

ivashkevich 17.03.2019 в 22:59

Так сразу понятно, чему они изначально равны. Не нужно надеяться на то, что язык программирования всегда верно будет определять начальное состояние переменных за программиста.

lilit 15.03.2019 в 23:48
<?php

$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds = 0;
$countOfCars = 0;
foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
    $countOfCars ++;
}

$averageSpeed = $sumOfSpeeds /  $countOfCars;

echo $averageSpeed;
ivashkevich 17.03.2019 в 22:59

Отлично

Boodoo 31.03.2019 в 23:52
<?php
    $carsSpeeds = [
        95,
        140,
        78
    ];

    $sumOfSpeeds = 0;
    $count = 0;

    foreach ($carsSpeeds as $v) {
        $sumOfSpeeds += $v;
        $count++;
    }

    $res = $sumOfSpeeds / $count;

    echo $res;
ivashkevich 01.04.2019 в 22:15

Отлично

pavliggs@mail.ru 10.04.2019 в 01:11
<?php
$carsSpeeds = [
    90,
    150,
    125,
    78
];

$sumOfSpeeds = 0;
$countOfCars = 0;

foreach ($carsSpeeds as $carSpeed) {
    $sumOfSpeeds += $carSpeed;
    $countOfCars += 1;
}

$averageSpeed = $sumOfSpeeds / $countOfCars;

echo 'Средняя скорость движения по трассе = ' . $averageSpeed;
ivashkevich 10.04.2019 в 15:20

Ок. Используй в следующий раз ++

artemship 13.04.2019 в 20:26
<?php
$carsSpeeds = [
    80,
    130,
    110,
    44
];
$sumOfSpeeds = 0;
$count = 0;
foreach ($carsSpeeds as $carSpeed) {
    $sumOfSpeeds += $carSpeed;
    $count++;
}
$averageSpeed = $sumOfSpeeds / $count;
echo 'Средняя скорость потока: ' . $averageSpeed;
ivashkevich 14.04.2019 в 00:22

Отлично

che4151999@gmail.com 13.04.2019 в 20:37
<?php
$carsSpeeds = [
    95,
    45,
    122
];
$items = 0;
$sum0fSpeeds = 0;
foreach ($carsSpeeds as $speed) {
$sum0fSpeeds += $speed;
$items++;
}
$averageSpeeds = $sum0fSpeeds/$items;
echo '<p>'.'Average speed on the highway: '. $averageSpeeds;
ivashkevich 14.04.2019 в 00:23

Отлично

Dram 19.04.2019 в 18:15

Не читал комменты, сделал сам. Правильно?

<?php

$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds = 0;

foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
}

$last = end(array_keys($carsSpeeds));
//$countOfCars = count($carsSpeeds);
$averageSpeed = $sumOfSpeeds / ++$last;

echo 'Средняя скорость движения по трассе: ' . $averageSpeed;
ivashkevich 19.04.2019 в 18:22

Можно проще - увеличивать счётчик на каждом шаге. А так да, формально задачу вы выполнили)

krollik1000000@gmail.com 06.05.2019 в 22:29
$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds = 0;
$sumCars = 0;
foreach ($carsSpeeds as $car=> $speed) {
    $sumOfSpeeds += $speed;
    $sumCars += $car;
}

echo $sumOfSpeeds / $sumCars;
ivashkevich 10.05.2019 в 13:28

Супер!

Moskva 13.05.2019 в 17:35

У тебя на самом деле классные уроки!!
Вот домашка:

$sumofSpeeds = 0;
$countOfCars = 0;
foreach ($carsSpeeds as $carsSpeed){
 $sumofSpeeds += $carsSpeed;
 $countOfCars += 1;
};
echo 'Средняя скорость по трассе = ' . $sumofSpeeds / $countOfCars; 

Всё работает.

ivashkevich 13.05.2019 в 19:01

Отлично!

Bizzzon 05.07.2019 в 12:08
$carsSpeeds = [
    95,
    140,
    78
];
$sumOfSpeeds = 0;
$sumOfCars = 0;
foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
    $sumOfCars ++;
}
$averageSpeed = $sumOfSpeeds / $sumOfCars;
echo 'Средняя скорость движения по трассе: ' . $averageSpeed;
ivashkevich 07.07.2019 в 17:57

Отлично

Reechniy 07.07.2019 в 05:36
<?php
$carSpeeds=[
    12,
    140,
    22,
    79,
    88,
    -9
];
$sumOfSpeeds=0;
$count=0;

foreach($carSpeeds as $speed){
    $sumOfSpeeds+=$speed;
    $count++;
}
$averageSpeed=$sumOfSpeeds/$count;
echo 'Средняя скорость движения автомобилей='.$averageSpeed;
ivashkevich 07.07.2019 в 17:57

Отлично!

kvakazuabr 14.07.2019 в 08:04

завести еще переменную равную 0 и в цикле прибовлять 1 на каждой итерации (++) и сумму скоростей разделить на значение этой переменной

$sumOfSpeeds = 0;
    $cnt = 0;
    foreach ($carsSpeeds as $speed) {
        $sumOfSpeeds += $speed;
        $cnt++;
    }
    echo $sumOfSpeeds/$cnt;
ivashkevich 14.07.2019 в 09:05

Отлично. Достаточно только кода)

AlexxxEy 16.07.2019 в 22:12
print 'Величины скоростей: </br>';
$speeds = [
        23,
        44,
        91
];
$Sum = 0;
foreach ($speeds as $index => $speed){
    echo $index . ' ' . $speed . '</br>';
    echo '</br>';
    $Sum +=$speed;

}
print 'Средняя скорость: ';
print floor($Sum/($index+1));
ivashkevich 17.07.2019 в 04:50

Отличная работа, только все имена переменных должны начинаться с маленькой буквы.

Aleks 08.08.2019 в 14:44

Придумайте способ обойтись без использования функции count.

<?php

$carsSpeeds = [
    95,
    140,
    78,
    45,
    46
];
$sumOfSpeeds = 0;
$cycle = 0;
foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
    $cycle += 1;
}

$averageSpeed = $sumOfSpeeds / $cycle;
echo 'Средняя скорость равна: ' . $averageSpeed;
ivashkevich 08.08.2019 в 16:28

Отлично. Переменную стоило назвать count

lenapetrowa92@gmail.com 12.08.2019 в 20:07
$carSpeeds = [
    9,
    1,
    5,
];
$sumOfSpeeds = 0;
$count =0;
foreach ($carSpeeds as $speed){
$sumOfSpeeds+= $speed;
$count ++;
}
$averageSpeed = $sumOfSpeeds/$count;
echo 'средняя скорость: '. $averageSpeed;
ivashkevich 13.08.2019 в 10:02

Отлично

Vladimir96 12.08.2019 в 20:55
//Домашнее задание
    $arr = [
            75,
            36,
            83,
            4 ];

    $summ = 0;
    foreach ($arr as $value) {
        $summ += $value;
    }

    $insteadCount = 0;
    foreach($arr as $number) {
        if ($number) {
            $insteadCount++;
        }
    }

    $resultDivision = $summ / $insteadCount;

    echo 'Средняя скорость: ' . $resultDivision;
ivashkevich 13.08.2019 в 10:03
$insteadCount = 0;
    foreach($arr as $number) {
        if ($number) {
            $insteadCount++;
        }
    }

Для чего if? Для чего отдельный цикл?

Vladimir96 13.08.2019 в 12:06

В ДЗ нужно было придумать другой способ вместо использования сount, я решил, что функцию count нужно написать самому вручную, это я и сделал, посмотрел что все ок, запустилось, и ушел радоваться)) оказывается реально можно было короче и логичнее все это сделать, вот второй вариант)

$arr = [
            75,
            36,
            83,
            4 ];

    $summ = 0;
    $insteadCount = 0;
    foreach ($arr as $value) {
        $summ += $value;
        $insteadCount++;
    }
    $resultDivision = $summ / $insteadCount;

    echo 'Средняя скорость: ' . $resultDivision;
ivashkevich 13.08.2019 в 19:32

Теперь ОК)

Lasto 21.08.2019 в 15:06
<?php

$auto=['lanrover'=>'140', 'bmw'=>'120','audi'=>'100'];

$numCount=0;
$sumSpeed=0;
foreach ($auto as $speed){
   $sumSpeed  += $speed;
    $numCount ++;

}

echo 'Cредняя скорость' .  $result=$sumSpeed/$numCount;
ivashkevich 22.08.2019 в 06:54

Почему вместо чисел строки?
Для чего здесь переменная result?!

romaartemov1999@gmail.com 25.08.2019 в 18:04
<?php
$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds = 0;
$i = 0; //счетчик итераций цикла

foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
    $i++;
}

$averageSpeed = $sumOfSpeeds / $i;

echo 'Средняя скорость движения по трассе: ' . $averageSpeed;
ivashkevich 26.08.2019 в 07:00

Отлично

Ooleg 25.08.2019 в 20:00
$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds = 0;
$countOfCars = 0;

foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
    $countOfCars ++;
}

$averageSpeed = $sumOfSpeeds / $countOfCars;

echo 'Средняя скорость движения по трассе: ' . $averageSpeed;
ivashkevich 26.08.2019 в 07:00

Отлично

Dreft 01.09.2019 в 19:30
<?php
$speeds = [50, 190, 20];
$allSpeeds = 0;
$countCars = 0;
foreach ($speeds as $speed) {
    $allSpeeds += $speed;
    $countCars++;
}
echo "Средняя скорость: " . $allSpeeds / $countCars;
ivashkevich 02.09.2019 в 05:01

Идеально

H3licoptero 21.09.2019 в 14:27
$carsSpeed = [ 1 =>
    100,
    70,
    130,
    140
];

var_dump($carsSpeed);

$sumOfSpeeds = 0;

foreach ($carsSpeed as $countOfCars => $speed) {
    echo '<br>' . $sumOfSpeeds += $speed;
}

var_dump($sumOfSpeeds);

$averageSpeed = $sumOfSpeeds / $countOfCars;

var_dump($averageSpeed);

echo $averageSpeed;

Тяжко, но работает вроде. Думал тоже с инкрементом сделать, но не сообразил сразу, как его задействовать. Предыдущий вариант, Draft'a, действительно крутой. Проверил на своём и не пришлось с индексами мудрить)

$carsSpeed = [
    'Audi' => 100,
    'BMW' => 70,
    'Mazda' => 130,
    'Volkswagen' => 140
];

var_dump($carsSpeed);

$sumOfSpeeds = 0;
$countOfCars = 0;

foreach ($carsSpeed as $speed) {
     $sumOfSpeeds += $speed;
     $countOfCars++;
}

var_dump($sumOfSpeeds);

$averageSpeed = $sumOfSpeeds / $countOfCars;

var_dump($averageSpeed);

echo $averageSpeed;
ivashkevich 21.09.2019 в 16:27

Ага. Второй вариант лучше. На ключи не стоит надеяться

dliashchenko 24.09.2019 в 09:18
<?php
$carsSpeeds = [100, 20, 25, 50, 5];

$sumOfSpeeds = 0;
$sumOfCars = 0;
foreach($carsSpeeds as $speed){
    $sumOfSpeeds +=  $speed;
    $sumOfCars++;
}
$averageSpeed = $sumOfSpeeds / $sumOfCars;

echo "Количество машин: ".$sumOfCars."<br/>";
echo "Сумма скоростей: ".$sumOfSpeeds."<br/>";
echo "Средняя скорость: ".$averageSpeed;

Результат:

Количество машин: 5
Сумма скоростей: 200
Средняя скорость: 40

ivashkevich 24.09.2019 в 10:54

Не стоит завязываться на индексы. Можно просто увеличивать счётчик

prinzplanloser0514@gmail.com 24.09.2019 в 21:55
<?php
$array = [
    95,
    140,
    78
];
$sumOfSpeeds =0;
$countOff=0;
foreach ($array as $speed){
 $sumOfSpeeds+=$speed;
 $countOff=$countOff+1;
 $averageSpeed =$sumOfSpeeds/$countOff;
}
echo $averageSpeed;
ivashkevich 26.09.2019 в 05:33

Вместо

$countOff=$countOff+1;

пиши

$countOff++;
$averageSpeed = $sumOfSpeeds/$countOff;

Средняя скорость пересчитывается в каждой итерации цикла - производится лишняя работа, комп греется, приближая глобальное потепление. Не надо так.

prinzplanloser0514@gmail.com 26.09.2019 в 21:48

Точно,защитники природы точно не обрадуются,спасибо )

zuxarevaalina88@gmail.com 12.10.2019 в 22:42
<?php

$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds = 0;
$quantityOfCars = 0;
foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
}
foreach ($carsSpeeds as $index) {
    $quantityOfCars += 1;}
echo $sumOfSpeeds;
echo ' ';
echo $quantityOfCars;
echo ' ';
$averageSpeed = $sumOfSpeeds / $quantityOfCars;

echo 'Средняя скорость движения по трассе: ' . $averageSpeed;
?>
ivashkevich 12.10.2019 в 23:01

Для чего два цикла? Во втором index не является индексом, это по-прежнему значение скорости.

zuxarevaalina88@gmail.com 13.10.2019 в 15:49
<?php

$carsSpeeds = [
    95,
    140,
    78
];
$sumOfSpeeds = 0;
$quantityOfCars = 0;
foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
    $quantityOfCars += 1;
}
echo $sumOfSpeeds;
echo ' ';
echo $quantityOfCars;
echo ' ';
$averageSpeed = $sumOfSpeeds / $quantityOfCars;

echo 'Средняя скорость движения по трассе: ' . $averageSpeed;
?>
Странно, что ответ одинаковый получился.
ivashkevich 13.10.2019 в 16:50

А что странного? Значения вы считали одни и те же, но в двух местах. Сейчас всё считается за один обход цикла - это более оптимальный вариант. Для увеличения значения на единицу лучше использовать использовать оператор инкремента:

$quantityOfCars++;
zuxarevaalina88@gmail.com 13.10.2019 в 17:07

Вы написали, что индекс не индекс а значение скорости. Ок

ivashkevich 13.10.2019 в 18:32

Вы в вычислениях его не использовали ведь, поэтому это никак на них не влияло.

zuxarevaalina88@gmail.com 13.10.2019 в 20:33

а, да точно, затупила

Evilinside 14.10.2019 в 18:16
<?php
/*
Пусть по трассе едут 3 машины. Сделаем массив, в котором будут содержаться значения скоростей движения этих авто.
 */
$cars = [
     90,
     60,
     75
];
$sumOfSpeed = 0;
$sumOfCars=0;
foreach ($cars as $elem) {
    $sumOfSpeed += $elem;
    $sumOfCars++;
}
echo $sumOfSpeed/$sumOfCars;
ivashkevich 14.10.2019 в 18:23

Отлично!

anton-gogo@mail.ru 15.10.2019 в 08:24
<?php  

$carsSpeed= [
    100,
    150,
    67,
    200,
    300
];

$sumSpeed = 0;

foreach ($carsSpeed as $speed) {
    $sumSpeed += $speed;
};

$centerSpeed= $sumSpeed / 5;
echo $centerSpeed;

163.4

ivashkevich 15.10.2019 в 10:37

Число скоростей должно подсчитываться, а не быть захардкоженным.

anton-gogo@mail.ru 15.10.2019 в 13:31
<?php 

$carsSpeed= [
    100,
    150,
    67,
    200,
    300,
    100
];

$sumSpeed = 0;
$sumCar = 0;
foreach ($carsSpeed as $speed) {
    $sumSpeed += $speed;
    $sumCar++;
};

$centerSpeed= $sumSpeed / $sumCar;
echo $centerSpeed;

Ааа... Понял) Чет не сразу вспомнил про этого оператора)

ivashkevich 15.10.2019 в 17:17

Отлично

andreskrip 09.11.2019 в 22:55

Просто добавил переменную, к которой каждую итерацию добавляется единица.

$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds = 0;
$countOfCars = 0;

foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
    $countOfCars += 1;
}

$averageSpeed = $sumOfSpeeds / $countOfCars;

echo 'Средняя скорость движения по трассе: ' . $averageSpeed;

А еще вопрос по уроку: в конце урока для функции count была выделена отдельная переменная $countOfCars = count($carsSpeeds). Нельзя ли сократить код на строку и записать вычисление средней скорости как: $averageSpeed = $sumOfSpeeds / count($carsSpeeds)?

ivashkevich 10.11.2019 в 07:21

Отлично. Можно.

babur 11.11.2019 в 11:28

Здрасьте! Подскажите пож, правильно понимаю ли, что foreach пробегает в массиве n-раз и внутри foreach переменный $count ++ оно у меня читает итерацию ну типа сколько раз пробежал в массиве, потом просто делим на $sumOfSpeeds да?

$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds = 0;
$count = 0;
foreach ($carsSpeeds as $value) {
    $sumOfSpeeds = $sumOfSpeeds + $value;
    $count ++;
}

$averageSpeed = $sumOfSpeeds/$count;

echo $averageSpeed;
ivashkevich 11.11.2019 в 19:47

Всё верно :)

ivanenko_94@mail.ru 15.11.2019 в 21:13

Клевый урок) Зашел на ура)

<?php
   $carsSpeed = [68, 84, 90, 78, 568303];

   $carSumSpeed = 0;
   $allCars = 0;
     foreach ($carsSpeed as $speed) {
$carSumSpeed  += $speed;
$allCars ++;
     };

$srednySpeed = $carSumSpeed / $allCars;
echo $srednySpeed;
?>
ivashkevich 15.11.2019 в 21:25

Отлично. Только с отступами проблема. Ну и переменные принято именовать английскими словами.

ivanenko_94@mail.ru 15.11.2019 в 23:07

понял принял)

YuraG 23.11.2019 в 21:20
$carsSpeeds = [
    95,
    140,
    78
];

$sumOfSpeeds = 0;
$countOfCars = 0;

foreach ($carsSpeeds as $speed) {
    $sumOfSpeeds += $speed;
    $countOfCars += 1;
}

$averageSpeed = $sumOfSpeeds / $countOfCars;

echo 'Средняя скорость движения по трассе: ' . $averageSpeed;
ivashkevich 24.11.2019 в 20:29

Отлично

Логические задачи с собеседований