Frage zu Zeitbeschränkungen
-
Hallo,
ich will einen Algorithmus, der aus einer for-Schleife besteht beispielsweise 25 Sekunden durchlaufen lassen. Die for-Schleife lasse ich maximal 20000 mal durchlaufen. Wie bekomme ich es hin, dass entweder der Algorithmus 20 Sekunden ODER 20000 mal durchläuft. Wo setze ich die Bedingung für die zeitliche Dauer hin? In die for-Schleife ODER um die for-Schleife? also:for(i = 0; i < 20000; i++) { if((clock() - programmstart) < maximumTime * CLOCKS_PER_SEC){
ODER
if((clock() - programmstart) < maximumTime * CLOCKS_PER_SEC) { for(i = 0; i < 20000; i++){
-
Natürlich in die for-Schleife, denn sonst wird ja nur einmal vor der Schleife geprüft.
Da aber alsif((clock() - programmstart) >= maximumTime * CLOCKS_PER_SEC) break;
Oder als Bedingung in die for-Schleife:
for(i = 0; (i < 20000) && ((clock() - programmstart) < maximumTime * CLOCKS_PER_SEC)); i++) {