1) Программа ищет определенное число в массиве, определяет, сколько раз это число встречается в нём и выводит индекс (читай - номер) самой первой ячейки, в которой оно было обнаружено.
2) Для ввода значений с клавиатуры используется функция readln, замкнутая в цикл с счетчиком for. Она последовательно вводит каждое значение в массив с переходом на новую строку.
3) Для вывода информации о количестве повторяющихся элементов используется функция writeln, выводящая все вложенные значения и переходящая на новую строку.
4) Размерность массива = 10, т.к. инициализируется он строкой
a: array [1..count] of integer
где count - константа, заданная в начале программы. Она = 10, следовательно, номер самого высшего элемента тоже будет равен 10.
$result = array();
$arr = array ('310'=>0.5, '311'=>0.375, '312'=>0.1);
function rec($str) {
$sum = 0;
foreach ($str as $i) #Вычисляем уже имеющуюся сумму
$sum += $GLOBALS["arr"][$i];
if ($sum == 1.5)
$GLOBALS["result"][] = $str;
if ($sum > 1.5) return;
foreach ($GLOBALS["arr"] as $key=>$value) {
$hello = $str; #Не знаю, насколько это легально, но заработало только так...
$hello[] = $key;
rec($hello);
}
}
if (min(array_values($arr)) <= 0) die(); #Бесконечнная рекурсия должна быть предотвращена
rec(array());
foreach ($result as &$value) #Переделываем массив массивов в массив строк
$value = implode(', ', $value);
unset($value);
print_r($result);
?>
1) Программа ищет определенное число в массиве, определяет, сколько раз это число встречается в нём и выводит индекс (читай - номер) самой первой ячейки, в которой оно было обнаружено.
2) Для ввода значений с клавиатуры используется функция readln, замкнутая в цикл с счетчиком for. Она последовательно вводит каждое значение в массив с переходом на новую строку.
3) Для вывода информации о количестве повторяющихся элементов используется функция writeln, выводящая все вложенные значения и переходящая на новую строку.
4) Размерность массива = 10, т.к. инициализируется он строкой
a: array [1..count] of integer
где count - константа, заданная в начале программы. Она = 10, следовательно, номер самого высшего элемента тоже будет равен 10.