Заполнить элементы одномерного массива значениями можно:
1) вводя значения с клавиатуры;
2) случайными числами;
3) вычисляя значение по формуле.
Во всех трех случаях не обойтись без организации цикла.
Будем считать, что объявили массив из 10 элементов (тип элементов в данном случае значения не имеет).
1) Заполнение с клавиатуры.
for i:=1 to 10 do begin
writeln(‘введите значение элемента’);
readln(a[i])
end;
2) Заполнение случайными числами. Для этого мы должны использовать функцию RANDOM, которая генерирует случайные числа.
for i:=1 to 10 do
a[i]:=random(n); {n должно быть заранее задано}
3) Заполнение по формуле. Например, каждый элемент массива должен быть рассчитан по формуле аi = sin(i)-cos(i)
for i:=1 to 10 do
a[i]:=sin(i)-cos(i)
Примеры.
1. Вычисление суммы элементов массива.
Program example1;
Var a:array[1..100] of real;
i,n:integer;
s:real;
begin
writeln(‘введите число элементов массива’);
readln(n);
s:=0;
for i:=1 to n do
Begin
Writeln(‘a[‘,i,’]=’);
Readln(a[i])
End;
for i:=1 to n do
S:=s+a[i];
writeln(‘s=’,s:5:2)
end.
2. Поиск минимального (максимального) элемента массива.
Program example2;
Var a:array[1..100] of integer;
i, n, min, nmin:integer;
begin
writeln(‘введите число элементов массива’);
readln(n);
for i:=1 to n do
Begin
Writeln(‘a[‘,i,’]=’);
Readln(a[i])
End;
Min:=a[1]; {в качестве минимального элемента полагаем первый элемент массива}
Nmin:=1; {номер минимального элемента}
for i:=2 to n do
if a[i]<min {проверяем, если очередной элемент меньше минимального}
then begin
min:=a[i]; {тогда его полагаем минимальным}
nmin:=i; {запоминаем номер этого элемента}
end;
writeln(‘минимальный элемент a[’,nmin,’]=’,min);
writeln(‘номер минимального элемента=’, nmin);
end.
3. Программа, подсчитывающая количество пар равных соседних элементов в массиве целых чисел.
Program example3;
Var a:array[1..100] of integer;
i,n,k: integer;
real;
begin
writeln(‘введите число элементов массива’);
readln(n);
for i:=1 to n do
Begin
Writeln(‘a[‘,i,’]=’);
Readln(a[i])
End;
k:=0;
for i:=1 to n-1 do begin
if a[i]=a[i+1] {если соседние элементы равны}
then k:=k+1 {количество равных соседних элементов увеличиваем на единицу}
end;
Writeln(‘k=’, k)
end.
4. Сортировка массива по убыванию методом поплавка.
Program example4;
uses crt;
const n=15;
var a:array [1..n] of integer;
i,j,b:integer;
begin
clrscr;
writeln(' ввод массива');
for i:=1 to n do begin
a[i]:=random(50);
write(a[i]:4)
end;
writeln;
{ сортировка по убыванию}
for i:=1 to n-1 do begin
for j:=1 to n-i do begin
if a[j]<a[j+1] then{сравнение рядом стоящих элементов}
begin b:=a[j]; {перестановка элементов}
a[j]:=a[j+1];
a[j+1]:=b
end
end;
end;
writeln('массив после сортировки');
for i:=1 to n do write(a[i]:4);
end.