diff --git a/GDP_Gesamt/src/Uebungen/Uebung5/Aufgabe4.java b/GDP_Gesamt/src/Uebungen/Uebung5/Aufgabe4.java index 90826e1..599ab3a 100644 --- a/GDP_Gesamt/src/Uebungen/Uebung5/Aufgabe4.java +++ b/GDP_Gesamt/src/Uebungen/Uebung5/Aufgabe4.java @@ -18,25 +18,32 @@ public class Aufgabe4 { printArray(inputArray); int res=-1; int rangeMax=inputArray.length-1, rangeMin=0,center=0; + int diff; long lastdate=0; - center = (rangeMax+1 - rangeMin) / 2; // round up while(res < 0){ Date date = new Date(); long deltaT = date.getTime()-lastdate; if(deltaT>timeout) { lastdate = date.getTime(); + diff = (rangeMax - rangeMin) / 2; // intermediate value + if (diff==0) { + if (value == inputArray[center]) { + res = center; + } + else { + res = center+1; + center +=1; // not needed + } + } + else { + center = rangeMin + diff; + } + infoGraphic(value, center, rangeMin, rangeMax, rangeMax, inputArray); - if (value == inputArray[center]) { - res = center; - } else if (value > inputArray[center]) { + if (value >= inputArray[center]) { rangeMin = center; - center += (rangeMax+1 - rangeMin) / 2; // round up - // center = (rangeMax+1 + rangeMin) / 2; // round up } else { rangeMax = center; - center -= (rangeMax+1 - rangeMin) / 2; // round up - //center -= (center+1 - rangeMin) / 2; - // center = (rangeMax + rangeMin) / 2; } } }