Задача 40. Даны две целые квадратные матрицы А(N,N) и B(N,N) одного порядка N. Найти наиболее часто повторяющийся положительный элемент матрицы А(N,N) и наиболее часто повторяющийся отрицательный элемент матрицы B(N,N). Вывести значения этих элементов и количество их повторов.
<?php /* Задача 40. Даны две целые квадратные матрицы А(N,N) и B(N,N) одного порядка N. Найти наиболее часто повторяющийся положительный элемент матрицы А(N,N) и наиболее часто повторяющийся отрицательный элемент матрицы B(N,N). Вывести значения этих элементов и количество их повторов. */ //случайный выбор порядка квадратной матрицы A порядка N $N=rand(3,7); echo "N=$N<br>"; ?> <p><b>Матрица A:</b> <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(-1,6); ?> </td> <?php } ?> </tr> <?php } ?> </table> <p><b>Матрица B:</b> <table border="1"> <?php for($i=0; $i<$N; $i++) { ?> <tr> <?php for($j=0; $j<$N; $j++) { ?> <td> <?php //присвоение случайных значений элементам матрицы B echo "b<sub>$i$j</sub>=", $b[$i][$j]=rand(-6,1); ?> </td> <?php } ?> </tr> <?php } ?> </table> <?php //// обработка матрицы A - начало //создание массива a_unique уникальных положительных значений матрицы A $flag=true; for($i=0; $i<$N && $flag; $i++) for($j=0; $j<$N && $flag; $j++) if($a[$i][$j]>0){ $a_unique[0] = $a[$i][$j]; $flag = false; } $a_count[]=0; $l = 1; for($i=0; $i<$N; $i++) for($j=0; $j<$N; $j++){ $k = 0; while($k<$l && $a[$i][$j]>0 && $a_unique[$k]!=$a[$i][$j]) $k++; if($k==$l && $a[$i][$j]>0){ $a_count[]=0; $a_unique[$l++]=$a[$i][$j]; } } //подсчет количества повторений элементов массива a_unique for($k=0; $k<$l; $k++) for($i=0; $i<$N; $i++) for($j=0; $j<$N; $j++) if($a_unique[$k]==$a[$i][$j]) $a_count[$k]++; ?> <p>вывод массива a_unique уникальных положительных значений матрицы A <br>и количества повторений этих значений:<br> <?php //вывод массива a_unique уникальных значений положительных матрицы A //и массива a_count - количества повторений этих значений for($i=0; $i<$l; $i++) echo $a_unique[$i]," -> ",$a_count[$i],"; "; //нахождение максимума массива a_count $max=$a_count[0]; for($i=1; $i<$l; $i++) if($max<$a_count[$i]) $max=$a_count[$i]; ?> <p>Наиболее часто повторяющиеся положительные элементы матрицы A и количество их повторов: <?php //вывод наиболее часто повторяющихся положительных элементов матрицы А //и количества их повторов for($i=0; $i<$l; $i++) if($max==$a_count[$i]) echo "<br>",$a_unique[$i]," <--> ",$a_count[$i],"; "; //// обработка матрицы A - конец ?> <?php //// обработка матрицы B - начало //создание массива b_unique уникальных отрицательных значений матрицы B $flag=true; for($i=0; $i<$N && $flag; $i++) for($j=0; $j<$N && $flag; $j++) if($b[$i][$j]<0){ $b_unique[0] = $b[$i][$j]; $flag = false; } $b_count[]=0; $l = 1; for($i=0; $i<$N; $i++) for($j=0; $j<$N; $j++){ $k = 0; while($k<$l && $b[$i][$j]<0 && $b_unique[$k]!=$b[$i][$j]) $k++; if($k==$l && $b[$i][$j]<0){ $b_count[]=0; $b_unique[$l++]=$b[$i][$j]; } } //подсчет количества повторений элементов массива b_unique for($k=0; $k<$l; $k++) for($i=0; $i<$N; $i++) for($j=0; $j<$N; $j++) if($b_unique[$k]==$b[$i][$j]) $b_count[$k]++; ?> <p>вывод массива b_unique уникальных отрицательных значений матрицы B <br>и количества повторений этих значений:<br> <?php //вывод массива b_unique уникальных отрицательных значений матрицы B //и массива b_count - количества повторений этих значений for($i=0; $i<$l; $i++) echo $b_unique[$i]," -> ",$b_count[$i],"; "; //нахождение максимума массива b_count $max=$b_count[0]; for($i=1; $i<$l; $i++) if($max<$b_count[$i]) $max=$b_count[$i]; ?> <p>Наиболее часто повторяющиеся отрицательные элементы матрицы B и количество их повторов: <?php //вывод наиболее часто повторяющихся отрицательных элементов матрицы B //и количества их повторов for($i=0; $i<$l; $i++) if($max==$b_count[$i]) echo "<br>",$b_unique[$i]," <--> ",$b_count[$i],"; "; //// обработка матрицы B - конец ?>
- Подробности
- Автор: Рахматджон Хакимов
- Родительская категория: Задачи по программированию для начинающих
- Категория: 2. Двумерный массив