Здравствуйте. Помогите мне с одной проблемкой.
Для статистики мне необходимо подсчитывать количество одинаковых значений, но с некоторым ограничением, т.е. существуют порог, до которого нужно брать числа. Но порог не является константой, его должен задавать пользователь. К примеру, порог установили 25. То результат должен быть следующим, опять же к примеру:
число 30 встречалось столько-то раз
число 29 встречалось столько-то раз
число 28 встречалось столько-то раз
...
число 25 встречалось столько-то раз
Поскольку порог не статичен, то у меня возникла сложность в программной реализации этой ситуации. Ведь и число счетчиков для подсчета количества значений будет меняться.
$porog = 25;
$m = xx; // любое пришедшее число
(Да, чуть не забыл, существует максимальное значение для m, допустим оно равно 30)
подскажите, как это сделать?
1. Valimar - 16 Апреля, 2009 - 11:52:11 - перейти к сообщению
2. valenok - 16 Апреля, 2009 - 13:17:54 - перейти к сообщению
Я две вещи не понял.
Во первых встречается где , в базе, в строке, в числе пи?
Во вторых, нужно посчиать сколько раз встречаются числа
от 30 до n в этом месте ? 30, 29, 28, 27 ... n
ну сделай что-то вроде
for($i=30; $i>$n; $i--) search($i);
И еще, как ты реализовал свой поиск когда лимит известен и постоянен ?
Во первых встречается где , в базе, в строке, в числе пи?
Во вторых, нужно посчиать сколько раз встречаются числа
от 30 до n в этом месте ? 30, 29, 28, 27 ... n
ну сделай что-то вроде
for($i=30; $i>$n; $i--) search($i);
И еще, как ты реализовал свой поиск когда лимит известен и постоянен ?
3. Valimar - 16 Апреля, 2009 - 15:40:03 - перейти к сообщению
Цитата:
Во первых встречается где , в базе, в строке, в числе пи?
не, это в результате некоторых вычислений, долго объяснять.
Я просто сейчас сымитировал ситуацию похожую, вот, что у меня получилось:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?
- $i = 30; // максимально-возможное число
- $porog = 20; // порог, можно задавать любой
- $mas = ''; // ну и массив
- for($j=0; $j<(30-$porog); $j++) {
- // генерируем число от порога до максимально-возможного
- while($i >= $porog) {
- if($m == $i) {
- $mas[$m] += 1;
- break;
- }
- $i--;
- }
- $i = 30; // восстанавливаем первоначальное значение
- }
- // а тут выводим результаты
- for($j=30; $j>$porog; $j--) {
- echo $j . " " . $mas[$j] . "<br />";
- }
- }
- ?>