Végtelen ciklust mi okoz e keresés megvalósításában?
Interpolációs keresést szerettem volna megvalósítani, sajnos, végtelen ciklusba futok minden esetben.
A c kódot valószínűleg hibásan implementáltam, csak hogy hol a hiba, azt nem sikerült megtalálnom.
program Interpolation_search;
var
i, hi, low, mid, k : longint;
t : array[0..95000] of longint;
begin
for i := 0 to high(t) do
t[i] := i;
hi := high(t) -1;
low := 0;
mid := 0;
k := 498;
while ((t[hi] <> t[low]) and (k >= t[low]) and (k <= t[hi])) do
begin
mid := low + ((k - t[low]) * (hi - low) div (t[hi] - t[low]));
if (t[mid] < k) then
low := mid + 1
else
if (k < t[mid]) then
hi := mid - 1;
end;
if (k <> t[low]) then
k := -1
else
k := low;
if k = -1 then
writeln('hibavan');
end.





Ezt a moslékot sztem tedd fel vmi kódmegosztó oldalra és linkeld be ide.
Amúgy meg, ha kiiratnád a változók tartalmát egy file-ba futásidő alatt, akkor magad is rájöhetnél, hogy hol hibáztál.





„hogy hol a hiba, azt nem sikerült megtalálnom”
Azt nekem sem, mert ilyenkor már nemigen tudom átlátni, mi történik a programodban, meg amúgy is csak műkedvelő vagyok. Mindenesetre én is megpróbáltam írni egy változatot, ez mintha működne:
Az ellenőrzést és a te programoddal való összevetést szerényen rád hagyom. Az esetleges felsülésemet mentse a félkóma, amelyben a kód megfogant...





Tabaki: köszönöm szépen.
Tegnap próbálkoztam kódmegosztóra másolni, de sajnos, nem működött. Az általad használt kódmegosztóval próbálkoztam én is.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!