Задайте случайным образом массив из N элементов (целых чисел). Найдите максимальное число и напечатайте его

<?php
$a = array ();
$N=20;
for ($i=0;$i<=$N-1;$i++) {
	$a [$i] =rand();
	echo $a[$i],"<BR>";
	If  ( $i>=1 and $a[$i]>$a[$i-1] ) {
		$max=$a[i];
	} else { 
			if ( $i>=1) {
				$max=$a[$i-1];
				$a[$i-1]=$a[$i];
				$a[$i]=$max;
			}
		}
}
echo "Naibolshee chislo ravno:", $max;
?>
vedro-compota's picture

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

_____________
матфак вгу и остальная классика =)

fgh's picture

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

vedro-compota's picture

максимальное значение должно возвращаться функцией, которая принимает на вход массив.

_____________
матфак вгу и остальная классика =)

fgh's picture

В представленном коде необходимо использовать более простой алгоритм поиска максимального значения. Вот исправленный код решения задачи:
Задайте случайным образом массив из N элементов (целых чисел). Найдите максимальное число и напечатайте его.

 <?php
for ($i=0;$i<=19;$i++) {
		$a [$i] =rand();
		echo $a[$i],"<BR>";
		  If  ($i==0) {
		      $min=$a[$i];
		} else { 
				if ($a[$i]<=$min) {
					$min=$a[$i];
				}
			}	 
	}
echo "Naimenshee chislo ravno:", $min;
?>


Здесь реализовано решение задачи с применением пользовательской функции massive (), которая возвращает пользователю минимальный элемент из массива. Почему то код не работает!

 <?php
 function massive_min () {
	for ($i=0;$i<=19;$i++) {
		$a [$i] =rand();
		echo $a[$i],"<BR>";
		  If  ($i==0) {
		      $min=$a[$i];
		} else { 
				if ($a[$i]<=$min) {
					$min=$a[$i];
				}
			}	 
	}
	return $min;
}
echo "Naimenshee chislo ravno:", massive_min ($a=array ());
?>