Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
57
Добавлен:
07.02.2016
Размер:
116.22 Кб
Скачать

Var I, j, n, s: integer;

X: array[1..50] of integer;

f : boolean;

begin

readln(n);

for i:=1 to n do read (x[i]);

writeln;

s:=0;

for i:=1 to n do

begin

if:=true;{робимо припущення, що масив складається з різних елементів }

for i:=1 to n do

if (x[i]=x[j]) and (i<>j) then f:=false{знайдено порушення порядку};

if f = true then s:=s+x[i];

end;

writeln(s:7);

end.

Якщо якісь дані зберігаються в масиві, інколи треба відкинути деякі елементи або включити деякі елементи в масив.

Приклад 4.7. Вилучити з заданого масиву дійсних чисел мінімальний елемент.

Щоб вилучити елемент під номером k, треба зсунути наступні елементи вліво на один номер:

k k+1 k+2 . . . n

Var I, n, k: integer;

min: real;

a : array [1..50] of real;

begin

readln(n);

for i:=1 to n do read (a[i]);

writeln;

min:=a[1]; k:=1;

for i:=1 to n do

if a[i]<min then

begin

min:=a[i];

k:=i;

end;

for i:= k+1 to n do a[i-1]:=a[i];

for i:=1 to n-1 do write (a[i]:5:2);

readln;

end.

Приклад 4.8. Перед мінімальним елементом масиву X(N) включити до масиву елемент, що дорівнює заданому Y.

Спочатку треба звільнити місце для нового елемента. Тому треба зрушити всі елементи, що розташовані від мінімального елемента до кінця масиву вправо. Цю дію треба виконувати з кінця масиву. А далі на вільне місце поміщається новий елемент.

k k+1 k+2 … n

Var I, n, k: integer;

min, y: real;

a: array [1..50] of real;

begin

readln(y);

readln(n);

for i:=1 to n do read(a[i]);

writeln;

min:=a[1]; k:=1;

for i:=1 to n do

if a[i]<min then

begin

min:=a[i];

k:=i;

end;

for i:= n downto k do a[i+1]:=a[i];

a[k]:=y;

for i:=1 to n+1 do write(a[i]:5:2);

readln;

end.

Масиви можна використовувати як параметри у функціях та процедурах. При цьому треба обов’язково вказати на описаний до підпрограми тип:

Приклад 4.9. За допомогою процедури знайти суму елементів масиву.

type mas = array [1..8] of real;

var a: mas;

s:real;

I: integer;

procedure sum (x: mas; n: integer; var s: real);

begin

for i:=1 to n do

s:= s +x[i];

end;

begin

for i:=1 to 8 do

read(a[i]);

writeln;

sum(a,8,s);

writeln(‘s=’, s);

end;

Але для одновимірних масивів, які використовуються як параметри, існує поняття відкритого масиву. В такому випадку опис параметру - масиву задається таким чином:

a:arrayofбазовий тип;

При подальшій роботі з елементами цього масиву для найменшого значення індексу використовують функцію low(a), а для найбільшого - функцію high(a).

Приклад 4.10.Скласти процедуру, яка виконує основні операції над одновимірними масивами.

Var a: array [1..10] of integer;

procedure mas(var b:array of integer); {процедура виконує введення одновимірного масиву та знаходить суму парних елементів.}

Соседние файлы в папке конспект лекцій 1 паск