Turbo Pascal

Storm_10

Member
спс, с других источников скачал, проверил при компиляции компил фэйлд пишет = / а чё так?
в строке нижней написано кэнт файнд юнит систем и ниже компил фэйлд...

кто что может предложить по паскалю: найти элемент массива который ближе всего к среднему арифметическому этого массива, буду весьма благодарен за идею, а то пока не получается сделать это =)
 
Останнє редагування:

Тагрим

Поняшка
кто что может предложить по паскалю: найти элемент массива который ближе всего к среднему арифметическому этого массива, буду весьма благодарен за идею, а то пока не получается сделать это =)
Код:
srarifm:=summ/count;
nearest:=a[1];
for i:=1 to count do
  if (a[i]>nearest) and (a[i]<srarifm) then nearest:=a[i];
P.S. 0,33-0,5 хорошего пива очень хорошо стимулируют мозг к алгоритмической работе
 

Пух

كنت بلهاء
Модератор
Код:
srarifm:=summ/count;
nearest:=a[1];
for i:=1 to count do
  if (a[i]>nearest) and (a[i]<srarifm) then nearest:=a[i];
P.S. 0,33-0,5 хорошего пива очень хорошо стимулируют мозг к алгоритмической работе
элемент, который находится ближе всего к среднему значению, может быть как больше среднего значения так и меньше.
Тут имеет смысл считать модуль разницы между i-м элементом и средним, находить минимум этой разницы и запоминать индекс элемента, с которым разница минимальна.
Код:
srarifm:=summ/count;
min = abs(srarifm - a[1]);
ind = 1;
for i:=2 to count do
   if ( (abs (a[i] - srarifm) < min) then 
        begin
             min = abs (a[i] - srarifm);
             ind = i;
        end;
end;
 

Storm_10

Member
элемент, который находится ближе всего к среднему значению, может быть как больше среднего значения так и меньше.
Тут имеет смысл считать модуль разницы между i-м элементом и средним, находить минимум этой разницы и запоминать индекс элемента, с которым разница минимальна.
Код:
srarifm:=summ/count;
min = abs(srarifm - a[1]);
ind = 1;
for i:=2 to count do
   if ( (abs (a[i] - srarifm) < min) then 
        begin
             min = abs (a[i] - srarifm);
             ind = i;
        end;
end;
большое спасибо =), но кто то может что-то сказать по предыдущим постам о работе абс паскаля, может можно что-то сделать, скачал фри паскаль компил фэйлд пишет = /
 

Пух

كنت بلهاء
Модератор
пути к файлам проверить и изменить (если нужно).
 

Storm_10

Member
пути к файлам проверить и изменить (если нужно).
лежат в одной папке, да и на скрине проблема не с нахождением модуля, а с его проверкой, попробую описать через процедуру

вручную переопредели функцию
это как ? 0_О
 
Останнє редагування:
Відповідь: Re: Turbo Pascal

лежат в одной папке, да и на скрине проблема не с нахождением модуля, а с его проверкой, попробую описать через процедуру


это как ? 0_О
сори затупил перепутал аbc и abs, о проблеме на картинке - добавь операторные скобки (begin end) , вот так begin S:=... g:=... end;
 
Останнє редагування:

Storm_10

Member
Re: Відповідь: Re: Відповідь: Re: Turbo Pascal

;) так по условию нельзя, присвоение функции и то что перед ней за циклом должно быть.

... сделаю всё через процедуры и положу на функции...

алилуя всё работает без неожиданностей
 
Останнє редагування:
Зверху