Задача 34. Дана целая матрица А(N,N). Составить программу нахождения наиболее часто повторяющегося элемента этой матрицы. Вывести значение этого элемента и количество повторов.
<?php
//случайный выбор порядка квадратной матрицы A порядка N
$N=rand(3,7);
echo "N=$N<br>";
?>
<table border="1">
<?php for($i=0; $i<$N; $i++) { ?>
<tr>
<?php for($j=0; $j<$N; $j++) { ?>
<td>
<?php
//присвоение случайных значений элементам матрицы A
echo "A<sub>$i$j</sub>=", $a[$i][$j]=rand(0,9);
?>
</td>
<?php } ?>
</tr>
<?php } ?>
</table>
<?php
//создание массива b уникальных значений матрицы A
$b[0] = $a[0][0];
$c[0]=0;
$l = 1;
for($i=0; $i<$N; $i++)
for($j=0; $j<$N; $j++){
$k = 0;
while($k<$l && $b[$k]!=$a[$i][$j])
$k++;
if($k==$l && $a[$i][$j]!=$b[$i]){
$c[$l]=0;
$b[$l++]=$a[$i][$j];
}
}
?>
<p>
<?php
//вывод массива b
for($i=0; $i<$l; $i++)
echo $b[$i],";";
//подсчет количества повторений элементов массива b
for($k=0; $k<$l; $k++)
for($i=0; $i<$N; $i++)
for($j=0; $j<$N; $j++)
if($b[$k]==$a[$i][$j])
$c[$k]++;
?>
<p>
<?php
//вывод массива b уникальных значений матрицы A
//и массива c - количества повторений этих значений
for($i=0; $i<$l; $i++)
echo $b[$i]," - ",$c[$i],"; ";
//нахождение максимума массива c
$max=$c[0];
for($i=1; $i<$l; $i++)
if($max<$c[$i])
$max=$c[$i];
echo "<p>максимальное количество повторений: ",$max;
?>
<p>Наиболее часто повторяющиеся элементы матрицы и количество их повторов:
<?php
//вывод наиболее часто повторяющихся элементов матрицы А
//и количества их повторов
for($i=0; $i<$l; $i++)
if($max==$c[$i])
echo "<br>",$b[$i]," - ",$c[$i],"; ";
?>