Помощь - Поиск - Пользователи - Календарь
Полная версия: Задачка на массив
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
FAUST
Дан набор из n вещественных чисел и целое число М. Найти порядковый номер числа, которое наиболее близко к данному числу.

З.Ы. буду очень признателен, кто поможет
volvo
Что именно не получается? Идешь по массиву, для каждого элемента вычисляя Abs(arr[ i ] - M), одновременно проверяя, не меньше ли оно, чем то, которое на предыдущей итерации было минимальным... Итого - один цикл...
mind abuse
Вот возможная интерпретация слов volvo

Код
Program t1;
uses
crt;
var
  a:array[1..1000] of real;

  i,n,k:integer;
  M,q,s:real;

begin
clrscr;
writeln('input M');
write('M=');
readln(M);
writeln('input number of elements of array');
write('n=');
readln(n);
writeln('input elements');
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;

for i:=1 to n do
begin
q:=Abs(a[i-1]-M);
s:=Abs(a[i]-M);

if s<q then
begin
k:=i;
end;
end;
writeln('No=',k);
end.


Только у меня следующие вопросы /*паскалем давно не занимался, лишь недавно на голову свалился*/: как сделать, чтоб M было integer и как сделать чтоб выводило номера равноудалённых элементов? К примеру, M=4 a1=2, a2=6 ?
Гость
извините конечно, но я в Паскале дуб дубом, поэтому и не смог эту простейшую прогу написать. Я очень мало понял из ваших слов... а вообще конечно огромное спасибо... выручили!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.