Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Наименьшее элемент массива

Сообщения:  [1-10]   [11-19] 

 
 автор: Sfinks   (24.04.2013 в 13:03)   письмо автору
 
   для: confirm   (24.04.2013 в 11:29)
 

=)

  Ответить  
 
 автор: confirm   (24.04.2013 в 11:43)   письмо автору
 
   для: Jovidon   (24.04.2013 в 11:40)
 

Набираете в Гугле (Яшка тупой, в нем только мыльные оперы искать) "математика алгоритмы", и выбирай не хочу :)

  Ответить  
 
 автор: Jovidon   (24.04.2013 в 11:40)   письмо автору
 
   для: confirm   (24.04.2013 в 10:12)
 

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

  Ответить  
 
 автор: confirm   (24.04.2013 в 11:39)   письмо автору
 
   для: Sfinks   (24.04.2013 в 11:25)
 

Кстати, для JS не !==undefined, а просто !=undefined

  Ответить  
 
 автор: confirm   (24.04.2013 в 11:29)   письмо автору
 
   для: Sfinks   (24.04.2013 в 11:25)
 

Ну вас за язык тянули? :)

Я это прекрасно знаю, и сперва оставил автору PS, а затем удалил. Человеку надо давать возможность думать.

  Ответить  
 
 автор: Sfinks   (24.04.2013 в 11:25)   письмо автору
 
   для: confirm   (24.04.2013 в 10:12)
 

А если в массиве есть ноль?
arr = [14,21,37,0,2,4,6,4,7,8,44,2,2,23,44];

Думаю вообще без привязки к языку не выйдет.
Либо в php будет isset() или key_exists(), либо в JS будет !==undefined, либо что-то еще в других языках.

  Ответить  
 
 автор: confirm   (24.04.2013 в 10:12)   письмо автору
 
   для: Jovidon   (24.04.2013 в 09:53)
 

А что с ним разбираться, если пишется абстрактно, как алгоритм, то никаких count быть не должно. Да и вообще, даже с его применением, у вас есть "баг" в коде.
Такие алгоритмы пишутся для быстрого поиска, сортировки, расстановки... А у вас что получается:
for($i=0; $i<count($val); $i++)
А условие цикла проверяется при каждой итерации, и получается, что при каждой итерации выполняется подсчет количества элементов массива, что никак не вяжется с задачей алгоритма для быстрого... Множество раз выполняется пустая работа. Подсчет количества элементов нужно производить один раз - при входе в цикл, так как написано у меня.

Но, если код не привязан к конкретному языку, использовать РНР нельзя, то значит и другое тоже нельзя. Значит цикл надо писать так:
<?
for($i=0; @$arr[$i]; $i++) {
  if(
$arr[$n] > $arr[$i]) $n=$i;
}

Но и в данном случае есть РНР-след - собака подавляющая. Но если в рамках РНР отключены предупреждения, то все будет ОК, и собака не нужна. То есть это только для просмотра этого цикла в РНР собака, например JavaScript исполнит это же самое без ругани, ошибок, а тем более исключений:
<script>
arr = [14,21,37,2,4,6,4,7,8,44,2,2,23,44]; 
n=0; 
for(i=0; arr[i]; i++) { 
   if(arr[n] > arr[i]) n=i; 

alert(arr[n]);
</script>

И нет никаких count, а проверяется возвращаемый элемент массива, если он отсутствует в текущей итерации, то цикл прекращается.

  Ответить  
 
 автор: Jovidon   (24.04.2013 в 09:53)   письмо автору
 
   для: confirm   (23.04.2013 в 18:32)
 

Спасибо!!!
с count - ом разбирусь

  Ответить  
 
 автор: confirm   (23.04.2013 в 18:32)   письмо автору
 
   для: Jovidon   (23.04.2013 в 17:15)
 

Понятно, ну тогда лучше так:
<?
$arr 
= array(14,21,37,2,4,6,4,7,8,44,2,2,23,44);

$n=0;
for(
$i=0$k=count($arr); $i<$k$i++) {
  if(
$arr[$n] > $arr[$i]) $n=$i;
}
echo 
$arr[$n];


Кстати - php нельзя использовать. А почему тогда count используете?

  Ответить  
 
 автор: Jovidon   (23.04.2013 в 17:15)   письмо автору
 
   для: confirm   (23.04.2013 в 11:32)
 

Да min это отлично!
Но это задача по информатике. (php нельзя использовать)

  Ответить  

Сообщения:  [1-10]   [11-19] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования