Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
контрольная работа 7.doc
Скачиваний:
3
Добавлен:
14.08.2019
Размер:
72.7 Кб
Скачать

Задача 10

const

MAX = 100;

type

TArray = array[1..MAX] of integer;

var

n : integer; { количество элементов массива }

i, j : integer; { индексы элементов массива }

A : TArray; { массив исходных данных }

b : integer;

Flag : Boolean;

begin

{ ввод исходных данных }

repeat

write('Введите количество элементов массива, N: ');

readln(n);

until (n > 1) and (n <= MAX);

writeln('Ввод элементов массива A:');

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

write('Введите число B: ');

readln(b);

Flag := False;

i := 1;

while (2*a[i] < b) and (i <= n) do i := i+1;

If a[i] + a[j] = b

then begin

Flag := True;

J := i

end

else if i <= n

then begin

j := i;

Repeat

While (a[i] + a[j] > b) and (j >= 1) do j := j - 1;

While (a[i] + a[j] < b) and (i <= n) do i := i + 1;

Flag := (a[i] + a[j] = b);

until Flag or (i > n) or (j < 1);

end;

If Flag

Then Writeln(' i = ', i, ' j = ', j)

Else Writeln(' No solutions' )

end.