Задача №8.
Primary tabs
Задача из списка.
Задать двумерный массив размерностью m на n (MxN) элементов (m и n вынести в область определения констант), заполнить его случайными значениями и вывести их на экран уже после того, как весь массив будет заполнен (т.е. заполнять и выводить в разных группах циклов).
<?php
function arr_n_m($n, $m)
{
$m_n = array($n, $m);
for($i = 0; $i < count($m_n); $i++) {
for($j = 0; $j < count($m_n[$i]); $j++) {
$m_n[$i][$j] = rand(-100, 100);
}
}
for($i = 0; $i < count($m_n); $i++) {
for($j = 0; $j < count($m_n[$i]); $j++) {
echo ' | '. $m_n[$i][$j];
}
echo "<br/>";
}
}
const N = 7;
const M = 3;
$n = array_pad([], N, 0);
$m = array_pad([], M, 0);
arr_n_m($n, $m);
?>
- Log in to post comments
- 14202 reads
math2
Wed, 08/02/2017 - 23:16
Permalink
<?php
<?php const N = 7; const M = 3; $n = array_pad([], N, 0); $m = array_pad([], M, 0); $m_n = array($n, $m); print_r($m_n);Это не массив 3x7:
Array ( [0] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 ) [1] => Array ( [0] => 0 [1] => 0 [2] => 0 ) )sid
Sat, 08/05/2017 - 13:17
Permalink
Исправлено.
Исправлено.
<?php function arr_n_m($n, $m) { for($i = 0; $i < count($n); $i++) { for($j = 0; $j < count($m); $j++) { $mn[$i][$j] = rand(-100, 100); } } foreach($mn as $mn1) { foreach($mn1 as $value) { echo ' | '.$value; } echo "<br>", "<br>"; } } define ("N", 6); define ("M", 3); $n = array_pad([], N, 0); $m = array_pad([], M, 0); arr_n_m($n, $m); ?>melisa
Sat, 08/05/2017 - 14:07
Permalink
Всё работает, но можно
Всё работает, но можно объединить создание и заполнение массива:
function arr_n_m($n, $m) { define ("N", $n); define ("M", $m); for($i = 0; $i < N; $i++) { for($j = 0; $j < M; $j++) { $mn[$i][$j] = rand(-100, 100); } } foreach($mn as $mn1) { foreach($mn1 as $value) { echo ' | '.$value; } echo "<br>", "<br>"; } } arr_n_m(7, 3);sid
Sat, 08/05/2017 - 14:44
Permalink
Спасибо.
Спасибо.
vedro-compota
Sat, 08/05/2017 - 14:45
Permalink
можно и без
Константы вообще не ясно зачем использовать. Можно и без них.
_____________
матфак вгу и остальная классика =)
vedro-compota
Sat, 08/05/2017 - 14:48
Permalink
Декомпозиция
Рекомендую создание массива случайных чисел делать одной функцией (return) а вывод его на экран уже другой.
_____________
матфак вгу и остальная классика =)
sid
Sat, 08/05/2017 - 17:26
Permalink
Исправил.
Исправил.
<?php //Функция формирования массива. function arr_n_m($n, $m) { define("N", $n); define("M", $m); for($i = 0; $i < N; $i++) { for($j = 0; $j < M; $j++) { $mn[$i][$j] = rand(-100, 100); } } return $mn; } //Функция отображения массива. function show_arr($mas) { foreach($mas as $i) { foreach($i as $j) { echo ' | '. $j; } echo "<br>"; } } $mas = [];//аргумент массив. show_arr(arr_n_m(6, 3)); ?>Рекомендую создание массива случайных чисел делать одной функцией (return) а вывод его на экран уже другой.
sid
Sat, 08/05/2017 - 13:21
Permalink
Можно так:
Можно так:
<?php function arr_n_m($n, $m) { for($i = 0; $i < count($n); $i++) { for($j = 0; $j < count($m); $j++) { $mn[$i][$j] = rand(-100, 100); } } return $mn; } define ("N", 6); define ("M", 3); $n = array_pad([], N, 0); $m = array_pad([], M, 0); echo "<pre>"; print_r(arr_n_m($n, $m)); echo "</pre>"; ?>sid
Sat, 08/05/2017 - 13:22
Permalink
Можно еще проще, но я не знаю
Можно еще проще, но я не знаю как передать константу в функцию.