Текущий архив: 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.49 MB
Время: 0.036 c