- •Задача 1
- •Задача 2
- •Задача 3.
- •I : integer; { параметр цикла }
- •Задача 4.
- •I : integer; { параметр цикла }
- •Задача 5
- •I : integer; { параметр цикла }
- •Задача 6.
- •I, j : integer; { параметры циклов }
- •Задача 7.
- •Задача 8.
- •I, j : integer; { параметры циклов }
- •Задача 9
- •I : integer; { параметр цикла }
- •Задача 10
Задача 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.