Основы программирования на C++, PASCAL
Например, если в таблице H требуется, чтобы данные за 1989 г. были такими же, как за 1981 г. (девятой строке присвоить значение первой строки), то это можно делать так:
Н[1989]:=Н[1981]
А если нужно поменять местами значения этих строк, то это делается через третью переменную того же типа:
Р:=Н[1989];Н[1989]:=Н[1981];Н[1981]:=Р;
где Р oписана так:
Var Р: Array[1..12] Of Real;
Обработка массивов в программах производится покомпонентно. Вот примеры ввода значений в массивы:
For I:=l То 12 Do
ReadLn(T[l]);
For I:=l To IMax Do
For J:=l To JMax Do
ReadLn(Mas[I,J]);
Здесь каждое следующее значение будет вводиться с новой строки. Для построчного ввода используется оператор Read.
Аналогично в цикле по индексной переменной организуется вывод значений массива. Например:
For I:=l То 12 Do Write(Т[I]:8:4);
Следующий фрагмент программы организует построчный вывод матрицы на экран:
For I:=1 То IMax Do
Begin
For J:=l To JMax Do
Write(Mas[I,J]:6);
WriteLn
End;
После печати очередной строки матрицы оператор WriteLn без параметров переведет курсор в начало новой строки. Следует заметить, что в последнем примере матрица на экране будет получена в естественной форме прямоугольной таблицы, если JMax не превышает 12 (сами подумайте почему).
Рассмотрим несколько примеров типовых программ обработки массивов.
Пример 1. Вернемся к массиву среднемесячных температур T[1.. 12]. Требуется вычислить среднегодовую температуру, а также ежемесячные отклонения от этой величины.
Program Example;
Const N = 12;
Type Vec=Array [1..N] Of Real;
Var T,Dt: Vec;
St: Real;
I: Integer;
Begin (Ввод исходных данных)
WriteLn('Вводите таблицу температур');
For I:=l To N Do
Begin
Write(I: 2,':');
ReadLn(T[I])
End;
{Вычисление средней температуры}
St:=0;
For I:=1 To N Do
St:=St+T[I];
St:=St/N;
(Вычисление таблицы отклонений от среднего}
For I:=1 To N Do
Dt[I]:=T[I]-St;
{Вывод результатов}
WriteLn('Средняя температура равна',St:6:2);
WriteLn;
WriteLn('Отклонения от средней температуры:');
For I:=l To N Do
WriteLn(1:1,':',Dt[I]:6:2)
End.
По этой программе можно рассчитать среднее значение и вектор отклонений от среднего для любого одномерного вещественного массива. Настройка на размер массива осуществляется только редактированием раздела констант.
Пример 2. Выбор максимального элемента