Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Составление и отладка программы с массивами

Автор: Slash 20.05.2007 22:04

Собсно ещё одна програмка которую я не могу сделать ! mad.gif

Составить программу решения задачи, используя одномерный массив.
Дано вещественное число R и массив размера N. Найти элемент массива, который наиболее и наименее близок к данному числу.


Надеюсь на вашу помощь good.gif

Автор: volvo 20.05.2007 22:08

Поиск тебе недоступен?

Вот, например: http://forum.pascal.net.ru/index.php?s=&showtopic=3320&view=findpost&p=29927

Автор: Slash 20.05.2007 22:18

На сколько я понял по условию там нужно найти средний элемент из всех введённых чисел ! а мне нужно к тому которое ввожу я !
Вроде понял я прально , если нет то уж извините )

Автор: мисс_граффити 20.05.2007 22:39

Заводишь две переменные - min и max
проходишь по массиву, считаешь модуль разности введенного тобой числа и элемента. если >|max-R|, присваиваешь max новое значение. Аналогично с min

Автор: Slash 20.05.2007 23:30


uses crt;
const n=10;
var m:array [1..n] of real;
i:integer;
r,blizhn,daln:real;
begin
randomize;
clrscr;
write ('Enter real type number [0..1]: ');
readln ®;
for i:=1 to n do
begin
m[i]:=random;
writeln (m[i]1.gif4);
end;
blizhn:=m[1];
daln:=m[1];
for i:=2 to n do
begin
if abs(m[i]-r)<abs(blizhn-r) then blizhn:=m[i];
if abs(m[i]-r)>abs(daln-r) then daln:=m[i];
end;
writeln ('r: ',r:1:4,' ','blizhn: ',blizhn:1:4,' ','daln: ',daln:1:4);
readkey;
end.