Определение
|
Массив- структура
данных, которую можно рассматривать как набор переменных одинакового типа,
имеющих общее имя.
|
Объявление в программе
|
Var a: array [1..n] of <тип элементов>;
где n –количество
элементов в массиве
|
Ввод элементов массива
|
С клавиатуры
|
Случайным
образом на интервале [xn;xk]
|
Целые числа
|
Вещественные числа
|
For
I:=1 to n do
Read(a[I]);
|
For
I:=1 to n do
a[I]:=
random(xk-xn+1)+xn;
|
For
I:=1 to n do
a[I]:=(xk-xn)*random+xn;
|
Вывод
|
В строчку
|
В столбец
|
For
I:=1 to n do write(a[I]);
|
For
I:=1 to n do writeln(a[I]);
|
Поиск
максимального и минимального элементов массива*
|
Максимальный
элемент
|
Индекс первого
максимального элемента
|
Индекс
последнего максимального элемента
|
m:=a[1];
For
I:=1 to n do
If
a[I]> m then m:=a[I];
Write(‘max=’,
m);
|
m:=1;
For
I:=1 to n do
If
a[I]> a[m] then m:=I;
Write(‘max=’,
a[m], ‘ind=’, m);
|
m:=1;
For
I:=1 to n do
If
a[I]>= a[m] then m:=I;
Write(‘max=’,
a[m], ‘ind=’, m);
|
*- при поиске минимального элемента знак
«>» заменяем на знак «<»
|
Сортировка
элементов массива (по возрастанию)
|
Метод прямого
выбора
|
Метод прямого
обмена (метод «пузырька»)
|
For
I:=1 to n-1 do
Begin
m:=I;
For
j:=I to n do
If a[j]<a[m] then m:=j;
buf:=a[I];
a[I]:=a[m];
a[m]:=buf;
end;
|
For
I:=1 to n-1 do
Begin
For
j:=1 to n-1 do
If a[j]>a[j+1] then begin
buf:=a[j];
a[j]:=a[j+1];
a[j+1]:=buf;
end;
end;
|
* - при организации сортировки массива по
убыванию в методе прямого выбора организуют поиск максимального элемента, а в
методе «пузырька» - знак
«>» заменяем на знак «<»
|
Поиск в массиве заданного элемента obr
|
Метод бинарного поиска
|
Метод простого перебора
|
verh:=1; niz:=N; found:=FALSE;
repeat
sred:= (niz+verh) div 2;
if obr=a[sred]then found:=TRUE
else
if obr < a[sred] then
niz:=sred-1
else
verh:=sred+1;
until (verh > niz) or found;
if found then writeln('Совпадение с элементом', sred)
else writeln ('Совпадений нет');
|
found:= FALSE;
I:=1;
repeat
if a[I]=obr then found:= TRUE
else I:=I+1;
until (I>N) or found;
if found then write
('совпадение с элементом ',I)
else write
(‘совпадений нет’);
|
Обработка элементов
массива
|
Удаление k-ого
элемента
|
Включение в k-ую
позицию элемента Х
|
n:=n-1;
For
I:=k to n do a[I]:=a[I+1];
|
For
I:=n downto k do a[I+1]:=a[I];
a[k]:=X;
n:=n+1;
|
Формирование
нового массива Z по заданному условию
|
Удаление из
массива всех отрицательных
|
k:=0;
For
I:=1 to n do
if <условие> then begin
k:=k+1;
z[k]:=a[I];
end;
|
k:=0;
For
I:=1 to n do
if a[I]>=0 then begin
k:=k+1;
a[k]:=a[I];
end;
|
Поиск суммы
элементов массива
|
Поиск
произведения элементов массива
|
Поиск среднего
арифметического элементов массива
|
Поиск
количества элементов по условию
|
S:=0;
For
i:=1 to n do
S:=S+a[i];
|
P:=1;
For
i:=1 to n do
P:=P*a[i];
|
S:=0;
For
i:=1 to n do
S:=S+a[i];
Sr:=s/n;
|
k:=0;
For
i:=1 to n do
If
<условие> then
k:=k+1;
|
|
|
|
|
|
|
|
|
|
|
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.