2. Ввод и вывод массива
Перед началом работы с массивом в программе нужно объявить массив в разделе описания переменных. Раздел описания переменных начинается с var. Присваиваем массиву имя, далее пишем служебное слово array, которое обозначает «массив», после в квадратных скобках указываем константы, определяющие диапазон индексов массива, дальше of — служебное слово «с», указываем тип элементов массива.
<имя массива>: array [ .. ] of ;.имя>
Запись массива на языке программирования Pascal:
var M: array [\(1\)..\(10\)] of integer;
В объявленном массиве может быть \(10\) элементом с соответствующими порядковыми номерами от \(1\) до \(10\).
Напишем программу, которая будет считывать отдельно каждый элемент массива, вводимый с клавиатуры, и запоминать его. А после этого выведет весь массив на экран.
Для ввода значений с клавиатуры будем использовать оператор read и счётчик — цикл for.
Для вывода массива воспользуемся оператором write и циклом for.
Значения в массиве можно расставить случайным образом. Для генерации чисел от \(0\) до \(N\) используется запись random (\(N\)). Перед использованием функции необходимо инициализировать датчик случайных чисел с помощью процедуры randomize.
Как вывести одномерный массив?
Для вывода массива необходимо использовать один из циклов, проще всего это сделать использовав цикл for.
Рассмотрим разные формы вывода для массива
const N = 5; var a : array [1..N] of integer = (1, 2, 3, 4, 5); i : integer;
Вывод в одну строку
for i := 1 to N do write(a[i]:4);
Вывод в одну строку c разделителем
for i := 1 to N do begin write(a[i]:4); if i < N then write(', '); //разделитель для элементов end;
Вывод в столбик
for i := 1 to N do writeln(a[i]:2);
Вывод в столбик с названием массива и индексом элемента
for i := 1 to N do writeln('a[', i, '] = ', a[i]:2);
В примерах использован форматированный вывод данных:
variable:4 — используется для целочисельных переменных, для отображения variable выделяются 4 символа
variable:8:3 — используется для чисел с плавающей точкой, для отображения variable выделяются 8 символов, 3 из них для дробной части.
Как вывести PHP массив
Примеры использования PHP функций и циклов для вывода всех элементов массива в окно браузера.
Функция print_r()
Функция print_r() выводит информацию о переменной в удобочитаемом виде. Чтобы отобразить пробелы и переносы результат функции нужно обернуть в тег .
$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); echo '
'; print_r($array); echo '';
Результат:
Array ( [0] => Andi [1] => Benny [2] => Cara [3] => Danny [4] => Emily )
Функция var_dump()
Функция var_dump() отображает информацию о переменной, включая тип и значение.
$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); echo '
'; var_dump($array); echo '';
Результат:
array(5) < [0]=>string(4) "Andi" [1]=> string(5) "Benny" [2]=> string(4) "Cara" [3]=> string(5) "Danny" [4]=> string(5) "Emily" >
var_export()
Функция var_export() возвращает строковое представление переменной в виде полноценного PHP-кода.
$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); echo '
'; echo var_export($array); echo '';
Результат:
array ( 0 => 'Andi', 1 => 'Benny', 2 => 'Cara', 3 => 'Danny', 4 => 'Emily', )
Цикл foreach
Цикл foreach специально создан для поэлементного перебора массивов.
$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); foreach ($array as $row) < echo $row . "
\r\n"; >Результат:
Andi
Benny
Cara
Danny
EmilyПример с выводом нумерованного списка с использованием индексов массива:
$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); foreach ($array as $n => $row) < echo ($n + 1) . '.' . $row . "
\r\n"; >Результат:
1.Andi
2.Benny
3.Cara
4.Danny
5.EmilyЧтобы не выводить последний
, добавим условие:$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); foreach ($array as $n => $row) < echo ($n + 1) . '.' . $row; if ($n < count($array) - 1) < echo "
\r\n"; > >Результат:
1.Andi
2.Benny
3.Cara
4.Danny
5.EmilyЦикл for
Цикл for подойдет только в случаях, когда индексы массива имеют непрерывную нумерацию.
$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); for ($n = 0; $n < count($array); $n++) < echo $n + 1 . '.' . $array[$n] . "
\r\n"; >Результат:
1.Andi
2.Benny
3.Cara
4.Danny
5.EmilyЦикл while
Цикл while такое же работает как и for .
$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); $index = 0; while ($index < count($array)) < echo $index + 1 . '.' . $array[$index] . "
\r\n"; $index++; >Результат:
1.Andi
2.Benny
3.Cara
4.Danny
5.EmilyФункция implode()
Также, для вывода массива удобно использовать функцию implode() , которая объединяет элементы массива через разделитель.
$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); echo implode("
\r\n", $array);Результат:
Andi
Benny
Cara
Danny
EmilyВвод и вывод массива
Заполнить массив с клавиатуры и вывести все его элементы.
Исходный код на языке Pascal
const Sz = 100; // Размер массива var a: array [1..Sz] of integer; N: integer; // Количество элементов в массиве i: integer; begin write('Введите количество элементов в массиве: '); readln(N); write('Введите элементы массива: '); for i:=1 to N do read(a[i]); write('Вывод элементов массива: '); for i:=1 to N do write(a[i],' '); end.