diff --git a/ford-fulkerson.html b/ford-fulkerson.html index 188b20b..d94f140 100644 --- a/ford-fulkerson.html +++ b/ford-fulkerson.html @@ -134,7 +134,7 @@ function parseGraph(){ continue; } if(verticesMap[trimmedVertexName]!=undefined){ - throw new Error("Knoten können nicht doppelt vorkommen"); + throw new Error("Knoten "+trimmedVertexName+" kommt doppelt vor"); } vertices.push({name:trimmedVertexName,x:100+vertexNumber*25,y:150,special:""}); verticesMap[trimmedVertexName]=vertices[vertices.length-1]; @@ -163,17 +163,17 @@ function parseGraph(){ if(capacity<0){ throw new Error("Zahl "+edgesLineSplit[1]+" ist negativ"); } - if(fromName==toName){ - throw new Error("Knoten kann keine Kante zu sich selbst haben"); - } if(verticesMap[fromName]==null){ throw new Error("Knoten "+fromName+" nicht vorhanden"); } if(verticesMap[toName]==null){ throw new Error("Knoten "+toName+" nicht vorhanden"); } + if(fromName==toName){ + throw new Error(fromName+" hat eine Schlinge. Schlingen erlaube ich nicht, weil sie nichts zum Ergebnis beitragen."); + } if(edgesCapacity[fromName][toName]>0/*||edgesCapacity[toName][fromName]>0*/){//Kommentar wegmachen, um doppelte Kanten nicht zuzulassen - throw new Error("Kante von "+fromName+" nach "+toName+" kommt mehrfach vor"); + throw new Error("Kante von "+fromName+" nach "+toName+" kommt mehrfach vor. Doppelte Kanten sind nur in entgegengesetzter Richtung erlaubt."); } edgesCapacity[fromName][toName]=capacity; } @@ -181,6 +181,7 @@ function parseGraph(){ statusSim.innerText="Graph neu erstellt"; }catch(error){ statusDef.innerText=error.toString(); + statusSim.innerText="Graph neu erstellen versucht, aber es gab einen Fehler bei der Erstellung"; } calculatePossibleNextSteps(); if(bfs()==undefined){