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

I,n,k,l:integer;

min, max:real;

begin

writeln('n');

readln(n);

for i:=1 to n do write(' ',a[i]:4:1);

writeln;

min:=a[1];k:=1;{ініціалізація найменшого (max) елементу масиву та його індексу}

for i:=1 to n do

if a[i]<min then

begin

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

end;

writeln('min=',min:4:1, 'k=',k:2);

max:=a[1];l:=1;{ знаходження найбільшого елементу масиву та його індексу }

for i:=1 to n do

if a[i]>max then begin max:=a[i];l:=i; end;

writeln('max=',max:4:1, 'l=',l:2);

readln;

end.

Приклад 4.3. Перетворити заданий масив Х(N) цілих чисел, замінивши непарні елементи сумою додатних елементів, інші залишити без змін.

Var I,n:integer;

s:real;

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

begin

readln(n);

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

writeln;

s:=0;{знаходимо суму додатних елементів}

for i:=1 to n do

if a[i]>0 then s:=s+a[i];

for i:=1 to n do{замінюємо непарні елементи знайденою сумою}

if a[i]/2 <> trunc(a[i]/2) then a[i]:=s;

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

readln;

end.

Приклад 4.4. З додатних елементів заданого масиву Х(N) дійсних чисел створити новий масив Y.

Var I, n, k: integer;

s:real;

X, y: array[1..50]of real;

begin

readln(n);

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

writeln;

k:=0;{встановлюємо початкове значення індексу нового масиву }

for i:=1 to n do

if x[i]>0 then begin{заносимо знайдені елементи масиву а до масиву b}

k:=k+1;y[k]:=a[i];

end;

for i:=1 to k do write (y[i]:5:2);

readln;

end.

Іноді треба зробити висновок про деякі властивості елементів масиву (елементи утворюють зростаючу послідовність, всі елементи різні і т.д.). При розв’язанні таких задач вводимо деяку ознаку, яка змінює своє значення в тому випадку, коли знайдено порушення порядку.

Приклад 4.4.Якщо заданий масив Х цілих чисел утворює незростаючу послідовність, то кожний від’ємний елемент замінити на величину, що дорівнює максимальному елементу масиву, в іншому випадку знайти індекс мінімального елементу масиву.

Var I, n, k, max, min: integer;

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

f : boolean;

begin

readln(n);

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

writeln;

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

for i:=1 to n-1 do

if x[i] <x[i+1] then f:=false{знайдено порушення порядку};

if f = true then

begin { масив утворює незростаючу послідовність }

max:=x[1];

for i:=1 to n do

if x[i]>max then max:=x[i];

for i:=1 to n do

if x[i]/2 = int(x[i]/2) then x[i]:=max;

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

end

else { масив не утворює незростаючу послідовність }

begin

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

for i:=1 to n do

if x[i]<min then

begin

min:=x[i];

k:=i;

end;

writeln(k);

end;

readln;

end.

Приклад 4.6. Знайти суму елементів масиву, які не співпадають за значенням.

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