Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

Подскажите с алгоритмом   Найти похожие ветки 

 
VitGun ©   (2004-04-26 18:09) [0]

есть последовательность чисел, допустим:
20,25,30,40,45,55
Пользователь вводит некое число, например, 37.

Нужно узнать между какими числами из диапазона оно находится?

Я написал алгоритм, но чего-то он та-а-а-к криво работает...я уже тормозю....


 
Digitman ©   (2004-04-26 18:10) [1]


> VitGun


> Я написал алгоритм, но чего-то он та-а-а-к криво работает...я
> уже тормозю....


ляг поспи - и все пройдет
утро вечера мудренее


 
VitGun ©   (2004-04-26 18:20) [2]

Неа...не пройдет...я тормозю уже два дня...


 
WebErr ©   (2004-04-26 18:22) [3]

Приведи код, подскажу, где ошибка! :))))


 
Digitman ©   (2004-04-26 18:23) [4]


> VitGun ©   (26.04.04 18:20) [2]


продолжай в том же духе

или воспользуйся альтернативой - либо КОД приводи сюда свой, либо травы покури


 
VitGun ©   (2004-04-26 18:24) [5]

WebErr.
Ошибка в файле Project1.dpr на столе end.
Содержание:
"Invalid pointer operation"
Хотя указателей у меня тама нема...


 
Vlad ©   (2004-04-26 18:27) [6]


> VitGun ©   (26.04.04 18:24) [5]

Ну как всегда, ошибка в 17-й строке.


 
Digitman ©   (2004-04-26 18:28) [7]


> Ошибка .. на столе


на столе д.б. не ошибка, а пузырек, огурчики, грибки, колбаска

убирай нафиг все лишнее со стола, не порть себе аппетит)


 
WebErr ©   (2004-04-26 18:29) [8]


> VitGun ©   (26.04.04 18:24) [5]
> "Invalid pointer operation"
> Хотя указателей у меня тама нема...

:)
Код в студию!!! (как говаривал в своё время Сам (!) Тимохов (с))


 
VitGun ©   (2004-04-26 18:30) [9]

Вот вам код. Тока чур не смеяться...

var i,j:integer;
   d:integer;
   tmp:integer;
   mina:TStringList;
   maxa:TStringList;
   ma,mx:TDynamicArray;
   min,max:double;
begin
mina:=TStringList.Create;
maxa:=TStringList.Create;
d:=StrToInt(Edit1.Text);
for i:=0 to valuelisteditor1.Strings.Count-1 do
 begin
  tmp:=StrToInt(valuelisteditor1.Cells[0,i+1]);
  if tmp<d then mina.Add(IntToStr(tmp));
  if tmp>d then maxa.Add(IntToStr(tmp))
 end;
 setlength(ma,mina.Count-1);
 setlength(mx,maxa.Count-1);
 mina.Text;
 maxa.Text;
 for i:=0 to mina.Count-1 do
  begin
  ma[i]:=StrToInt(mina.Strings[i]);
  end;
 for j:=0 to maxa.Count-1 do
  begin
  mx[j]:=strtoint(maxa.Strings[j]);
  end;
  min:=MinV(ma);
  max:=MaxV(mx);
  Label1.Caption:="Min:"+FloatToStr(min);
  Label2.Caption:="Max:"+FloatToStr(max);

valuelisteditor1 - содержит последовательность значений
Edit1 - сюда пользователь вводит число.


 
Digitman ©   (2004-04-26 18:30) [10]

"Боня, ты - тупой !" (с) КВН

ему про Фому, он же про Ерему свое гнет..


 
WebErr ©   (2004-04-26 18:32) [11]


> VitGun ©   (26.04.04 18:24) [5] Re2

Специально для Вас - код программы, а не ошибки, я понимаю, что там может и не быть никаких указателей, вот только одна бЯда - объекты по своей сути - те же указатели, только этого сразу не видно... :) (улыбку сократил специально для Digitman"a)


 
Андрей Сенченко ©   (2004-04-26 18:33) [12]

Уточняю - на столе д.б. не ошибка, а пузырек, огурчики, грибки, колбаска - имелся ввиду стол Дигитмэна.
И будет вам щщастье


 
WebErr ©   (2004-04-26 18:41) [13]


> VitGun ©   (26.04.04 18:30) [9]

Аж в глазах зарябило - короче, в какой строке ошибку выдаёт (я не смеюсь (!) )


 
Eugene1501 ©   (2004-04-26 18:53) [14]

Ты в школе проходил алгоритм поиска минимального или максимального значения массива? Тебе сейчас нужно сделать то же самое. Я как код увидел чуть со стула не упал.

P.S. Со мной тоже такое бывает, иногда как затупишь.


 
Anatoly Podgoretsky ©   (2004-04-26 18:54) [15]

Вот две ошибки работы с динамическими структурами
setlength(ma,mina.Count-1);
setlength(mx,maxa.Count-1);

Не считая возможных ошибок в других структурах и функциях не описанных здесь.


 
VitGun ©   (2004-04-26 18:56) [16]

Ошибку выдает после строки:

Label2.Caption:="Max:"+FloatToStr(max);


Вываливается с сообщением "Invalid pointer operation".

Пробовал по шагам выполнять, все ок, но после последней строчки -обшибка...


 
VitGun ©   (2004-04-26 18:58) [17]


> Ты в школе проходил алгоритм поиска минимального или максимального
> значения массива?

Нет.


 
WebErr ©   (2004-04-26 18:59) [18]

Удалено модератором


 
WebErr ©   (2004-04-26 19:00) [19]

А вообще есть такой алгоритм бинарной вставки!
Я - домой, но советую поискать инфу про сей алгоритм! ;)


 
Verg ©   (2004-04-26 19:13) [20]


> VitGun ©   (26.04.04 18:09)  
> есть последовательность чисел, допустим:
> 20,25,30,40,45,55
> Пользователь вводит некое число, например, 37.
>
> Нужно узнать между какими числами из диапазона оно находится?
>
> Я написал алгоритм, но чего-то он та-а-а-к криво работает...я
> уже тормозю....


Числа в списке расположены строго в пордке возрастания?

Значит идншь по списку по порядку и находишь первое число, которое меньше или равно заданному (37). Вот ты нашел его - A[i]
Значит заданное число лежит между A[i] и A[i+1] в списке. Не так ли?



Страницы: 1 вся ветка

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.053 c
1-1083673093
Jiurasdfgfr
2004-05-04 16:18
2004.05.16
Как сделать програмно картинку части моей формы?


14-1083025226
Yttrium
2004-04-27 04:20
2004.05.16
IL. Нафига он нужен?


1-1083729481
Alex Y
2004-05-05 07:58
2004.05.16
Размер канвы


6-1080627168
paul_k
2004-03-30 10:12
2004.05.16
Помогите разобратся с получением текста из TWebBrowser


1-1083301978
ivc_andr
2004-04-30 09:12
2004.05.16
сканировать сеть