Даны массив, упорядоченный по возрастанию, и число А, о котором известно следующее: оно не равно ни одному из элементов массива, больше первого и меньше последнего элемента. а) Вывести все элементы массива, меньшие А. б) Найти два элемента массива (их порядковые номера и значение), в интервале между которыми находится значение А. в) Найти элемент массива, (его порядковый номер и значение), ближайший к А. В задачах а и б условный оператор не использовать — Pascal(Паскаль)

a)

var b:array [1..100] of integer;
     n,i,a:integer;
begin
writeln('vvedite chislo elementov  ');
read(n);//ты тут считываешь массив и само исло
writeln('vvedite massiv    ')
for i:=1 to n do
read(b[i]);
writeln('vvedite chislo a   '
read(a);
for i:=1 to n do
if b[i]<a then write(b[i],' ') else break;
end.

Следующий вариант

var b:array [1..100] of integer;
     n,i,a:integer;
begin
writeln('vvedite chislo elementov  ');
read(n);//ты тут считываешь массив и само исло
writeln('vvedite massiv    ')
for i:=1 to n do
read(b[i]);
writeln('vvedite chislo a   '
read(a);
i:=1;
while b[i]<a do
begin 
write(b[i],' ');
inc(i);
end;
end.

б)

var b:array [1..100] of integer;
     n,i,a:integer;
begin
writeln('vvedite chislo elementov  ');
read(n);//ты тут считываешь массив и само исло
writeln('vvedite massiv    ')
for i:=1 to n do
read(b[i]);
writeln('vvedite chislo a   '
read(a);
i:=1;
while b[i]<a do
inc(i);
writeln('mesdu ',i-1,' ravnui  ',b[i-1]);
writeln('mesdu ',i,' ravnui  ',b[i]);
end.

в)

var b:array [1..100] of integer;
     n,i,a:integer;
begin
writeln('vvedite chislo elementov  ');
read(n);//ты тут считываешь массив и само исло
writeln('vvedite massiv    ')
for i:=1 to n do
read(b[i]);
writeln('vvedite chislo a   '
read(a);
i:=1;
while b[i]<a do
inc(i);
if abs(b[i]-a)<abs(b[i-1]-a) then
writeln('',i,' ravnui  ',b[i]);
writeln('',i-1,' ravnui  ',b[i-1]);
end.

Leave a Comment

30 − 28 =