zweitgrößter Wert in array bestimmen

Greenhorn

Mitglied
Hallo,

nun die letzte Aufgabe die ich im Rahmen meiner Klausurenvorbereitung nicht hinbekommen habe. Siehe Anhang Aufgabentext.

Hier mein erstes Versuch:

Java:
public static int zweitmax (int []a){
  if(a.length<2){
    return 0;
  }

  int max= 0;
  int max2=0;

  for(int i=1; i<a.length;i++){
     if(a[i]>a[i-1]){
       max=a[i];
     }
     if(a[b] > a[b-1] && a[b-1]<max){
       max2 = a[i];
     }
    if(max2==max){
       max2= max;
   }
  }
  return max;
}
 

Anhänge

  • array.jpg
    array.jpg
    78,9 KB · Aufrufe: 46
machs doch ganz straightforward:
(pseudocode)

Java:
public static int zweitmax(int[] a) {
	// Wenn länge von a < 2, return 0

	// max (größte zahl) und max2 (zweitgrößte zahl) initialisieren
        // Wenn a[0] > a[1]
            // max = a[0]
            // ma2 = a[1]
        // sonst
            // max = a[1]
            // ma2 = a[0]

        // Schleife über a von 2 bis a.length-1
            // Wenn zahl größer als beide max, dann ??
            // Wenn zahl nur größer als max2, dann ??
            // sonst ???
	
	return max2;
}
 
Zuletzt bearbeitet von einem Moderator:

Neue Themen


Zurück
Oben