for Schleife mit zwei bedingungen ?

Warum denn nicht? Einfach im mittleren Teil eine Bedingung hinzufügen:
Code:
for(start(); ende1() | ende2(); weiter()) {
  // code...
}
 
Oder anders gefragt kennt einer einer Möglichkeit ohne eine weitere Schleife das mit einer for Schleife zu realisieren ? Bzw zwei also einer for schleife anstatt der mit while ,weil ich eher der for Schleifen Typ bin und ich auf keine Lösung komme. Ohne drei Schleifen zu verwenden !

Java:
  public static void insertion_srt(int array[], int n)
  {
    for (int i = 1; i < n; i++)
    {
      int j = i;
      int B = array[i];
      while ((j > 0) && (array[j-1] > B))
      {
        array[j] = array[j-1];
        j--;
      }
      array[j] = B;
      
    }
  }
 
for schleife anstatt der mit while
Java:
  public static void insertion_srt(int array[], int n)
  {
    for (int i = 1; i < n; i++)
    {
      int j = i;
      int B = array[i];
      while ((j > 0) && (array[j-1] > B))
      {
        array[j] = array[j-1];
        j--;
      }
      array[j] = B;
    }
  }

meinst du:
Java:
  public static void insertion_srt(int array[], int n)
  {
    for (int i = 1; i < n; i++)
    {  int j = i;
       int B = array[i]
       for (; (j > 0) && (array[j-1] > B);j--)
      {
        array[j] = array[j-1];
      }
      array[j] = B;  
    }
  }
Wo liegt ein Problem?
 
Das sind ja gar nicht ZWEI Bedingungen.
Es ist EINE logischer Ausdruck.

Was viel eher verblüffen könnte: Gültig ist auch
Java:
for(i=0, j=array.length; i<100 && j>0; i++, j--) {
// .. mach was 
}
Das SIND mehrere Ausdrücke in Start-Teil und Inkrement-Teil.

Macht aber Programme nicht unbedingt immer lesbarer.
 

Neue Themen


Zurück
Oben