<?php
$data = $_GET['azbuka'];
//Избавляемся от разделителей
$trans = array(chr (32) => "_", chr (13) => "", chr (10) => "", chr (9) => "");
$rez = strtr($data, $trans);
$vce = strlen($rez);
//Функция сортировки
function cmq($a,$b)
{
if ($a[1]!=$b[1]) {
return strnatcmp($a[1], $b[1]);
}
//Если колво вхождений равны, сортировать по алфавиту
elseif ($a[1]=$b[1]) {
return strnatcmp($b[0], $a[0]);
}
}
//Создание двумерного массива
foreach (count_chars($rez, 1) as $i => $val) {
$ver = $val/$vce;
$qq[$n][0] = chr($i);
$qq[$n][1] = $ver;
$n++;
}
//Сортировка по вероятностям
usort($qq, 'cmp');
echo "<table border=1><tr VALIGN=top><td>";
echo "<table><tr><td COLSPAN=2> 1 </td></tr>";
while (list($key, $value) = each($qq)) {
echo "<tr><td>".$value["0"]."</td><td>".$value["1"]."</td></tr>";
}
echo "</table>";
echo "</td><td>";
//Сортировка по вероятностям
usort($qq, 'cmq');
$id = 0;
//Попытка построения таблици вероятностей
$id = 0;
${"id".$id} = $qq;
${"id".$id}[1][0] = ${"id".$id}[1][0].${"id".$id}[0][0];
${"id".$id}[1][1] = ${"id".$id}[0][1]+${"id".$id}[1][1];
unset (${"id".$id}[0]);
${"id".$id} = array_values(${"id".$id});
usort(${"id".$id}, 'cmp');
echo "<table><tr><td COLSPAN=2> 2 </td></tr>";
$amount = 1;
while (list($key, $val) = each(${"id".$id})) {
echo "<tr><td>".$val["0"]."</td><td>".$val["1"]."</td></tr>";
$amount++;
}
echo "</table>";
echo "</td>";
usort(${"id".$id}, 'cmq');
//$amount = strlen(${"id".$id}[1]);
$id = "1";
$tab = "3";
while (${"id".$id}[1][1]<"1" And $quantity!=$amount) {
${"id".$id} = ${"id".($id-"1")};
${"id".$id}[1][0] = ${"id".($id-"1")}[1][0].${"id".($id-"1")}[0][0];
${"id".$id}[1][1] = ${"id".($id-"1")}[0][1]+${"id".($id-"1")}[1][1];
$quantity = strlen(${"id".$id}[1][0]);
unset (${"id".$id}[0]);
${"id".$id} = array_values(${"id".$id});
usort(${"id".$id}, 'cmp');
echo "<td>";
echo "<table><tr><td COLSPAN=2>".$tab."</td></tr>";
while (list($key, $val) = each(${"id".$id})) {
echo "<tr><td>".$val["0"]."</td><td>".$val["1"]."</td></tr>";
}
echo "</table>";
echo "</td>";
usort(${"id".$id}, 'cmq');
$id++;
$tab++;
}
echo "</tr></table>";
?>