Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.036 c
6-1080571689
***ghost***
2004-03-29 18:48
2004.05.16
Помогите написать скрипт.


14-1082823374
Soft
2004-04-24 20:16
2004.05.16
Человек - это звучит жестоко...


3-1082555985
Сказочник
2004-04-21 17:59
2004.05.16
Почему не обновляются данные?


1-1083000274
I.Ru.Ru
2004-04-26 21:24
2004.05.16
Автоширина в StringGride и Gride


4-1080024121
npr2
2004-03-23 09:42
2004.05.16
региональные стандарты





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский