Как говорилось ранее, важным приемом программирования является параметризация. В данном случае мы работаем с массивом из 10 элементов, но всюду в программе используем не число 10, а константу n равную 10. Это облегчает возможную модификацию программы в случае, когда придется работать с другим количеством элементов в массиве: достаточно изменить значение константы.
Другой стилистической особенностью программы является разделение задач заполнения и вывода элементов. При желании это можно было сделать в одном цикле, но с точки зрения стиля разделение задач всегда хорошо. Пример 2: Вычисление среднего арифметического элементов массива. Вычисление состоит из двух этапов – подсчета суммы элементов и ее деления на общее число элементов.
const n = 10; type TMassive = array [0..n-1] of real; var x: TMassive; s: real; i: integer; begin > s:=0; for i:=0 to n-1 do s:=s+x[i]; s:=s/n; writeln(‘Mean value = ‘, s); end.
Смысл программы кажется прозрачным и не нуждается в пояснениях. Пример 3: Поиск элемента в массиве. Пусть задан вещественнозначный массив x[0], x[2], …, x[n-1], а также число y. Определить, есть ли в массиве элемент x[k], такой что x[k] = y, и чему равен его индекс k.
Задачи с массивами | Pascal | Сумма и поиск элементов
const n = 10; type TMassive = array [0..n-1] of integer; var x: TMassive; y: real; k: integer; begin > readln(y); k:=0; while (ky) do k:=k+1; if k=n then writeln(‘No such element’) else writeln(‘Element has number: ‘, k); end.
Цикл while может закончиться по двум причинам: когда найден нужный элемент (x[k] = y) или когда были проверены все элементы (k>=n).
Понять, что послужило причиной окончания цикла можно по значению переменной k. Заметим, что если в массиве нет искомого элемента, то на последнем шаге цикла k = n. по этой причине принципиально в каком порядке стоят условия продолжения цикла while. Если поменять их местами, сделав (x[k]<>y)and(k
Пример 4: Поиск максимального элемента в массиве. Дан числовой массив. Требуется найти его самый большой элемент, вывести его значение и индекс. В принципе достаточно найти только индекс элемента. Зная индекс, всегда можем узнать значение.
Идея алгоритма состоит в том, чтобы, перебирая элементы массива, запоминать в отдельной переменной индекс самого большого из тех, что уже перебрали. Тогда, беря очередной элемент, сравниваем его с самым большим из предыдущих и, если он больше, запоминаем его индекс.
const n = 10; type TMassive = array [0..n-1] of integer; var x: TMassive; k, Kmax: integer; begin > Kmax:=0; for k:=1 to n-1 do if x[k]>x[Kmax] then Kmax:=k; writeln(‘Max = ‘, x[Kmax]); writeln(‘Max element number = ‘, Kmax); end.
Источник: www.tvd-home.ru
Как составлять программы с массивами
Массив представляет набор однотипных данных. Формальное определение массива выглядит следующим образом:
тип_переменной название_массива [длина_массива]
После типа переменной идет название массива, а затем в квадратных скобках его размер. Например, определим массив из 4 чисел:
Что такое массив. Примеры. Теория. Array. Одномерный массив. Синтаксис. C++. Урок #25.
int numbers[4];
Число элементов массива также можно определять через константу:
const int n = 4; int numbers[n]; // содержит 4 элемента
Некоторые компиляторы (например, G++) также поддерживают установку размера с помощью переменных.