Как у массивов появляются значения, как они изменяются? Возможны три основных способа:
вычисление значений в программе;
значения вводит пользователь;
связывание с источником данных.
В задачах этого раздела ограничимся пока рассмотрением первых двух способов. Первый способ более или менее понятен. Простые примеры его применения приводились неоднократно. Стоит только отметить, что в классе, работающем с массивами, всегда полезно иметь метод FillArray, позволяющий заполнять массив случайными числами. В примерах использование возможностей класса Random для моделирования элементов массива встречалось неоднократно.
Приведу некоторые рекомендации по вводу и выводу массивов, ориентированные на работу с конечным пользователем.
Для консольных приложений ввод массива обычно проходит несколько этапов:
ввод размеров массива;
создание массива;
организация цикла по числу элементов массива, в теле которого выполняется:
приглашение к вводу очередного элемента;
ввод элемента;
проверка корректности введенного значения.
Вначале у пользователя запрашиваются размеры массива, затем создается массив заданного размера. В цикле по числу элементов организуется ввод значений. Вводу каждого значения предшествует приглашение к вводу с указанием типа вводимого значения, а при необходимости - и диапазона, в котором должно находиться требуемое значение. Поскольку ввод значений - это ответственная операция, а на пользователя никогда нельзя положиться, после ввода часто организуется проверка корректности введенного значения. При некорректном задании значения элемента ввод повторяется, пока не будет достигнут желаемый результат.
При выводе массива на консоль обычно вначале выводится имя массива, а затем его элементы в виде пары: <имя> = <значение> (например, f[5] = 77,7). Задача осложняется для многомерных массивов, когда пользователю важно видеть не только значения, но и структуру массива, располагая строку массива в строке экрана.
Как организовать контроль ввода? Наиболее разумно использовать для этих целей конструкцию охраняемых блоков - try - catch блоков. Это общий подход, когда все опасные действия, связанные с работой пользователя, внешних устройств, внешних источников данных, размещаются в охраняемых блоках.
Как правило, для ввода-вывода массивов пишутся специальные процедуры, вызываемые в нужный момент.