/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author bal
 */
public class Notenliste {
    
    public static void main(String[] args) {

    float[][] notenliste = {
        {1.0f,2.4f,1.8f},
        {3.3f,4.0f,2.7f},
        {1.8f,1.7f,3.5f},
        {2.9f,5.0f,2.7f}
    };

    System.out.println("1.  Berechnen Sie den Durchschnitt eines bestimmten Schülers. ");
        
    int schueler=1;
    float avg=0;
    
    for (int spalte = 0; spalte < notenliste[0].length; spalte++) {
           avg=avg+notenliste[schueler][spalte];           
    }        
        
    avg=avg/notenliste.length;
    System.out.println("Durchschnitt Schüler"+(schueler+1)+":"+avg);
    
    System.out.println("");
    System.out.println("2. Bestimmen Sie die schlechteste Note bei einer bestimmten Klassenarbeit. ");

    int ka=2;
    float schlechtesteKA=0;
    int schlechtesteKAi=0;
    for (int zeile = 0; zeile < notenliste.length; zeile++) {
         if (notenliste[zeile][ka]>schlechtesteKA) {
             schlechtesteKA=notenliste[zeile][ka];
             schlechtesteKAi=zeile;
         }   
    }
    
    System.out.println("Schlechteste Note bei KA "+(ka+1)+" ist:"+schlechtesteKA
            +" von Schüler "+(schlechtesteKAi+1));
    
    System.out.println("");
    System.out.println("3. Berechnen Sie den Gesamtdurchschnitt.");
    
    avg=0;
    for (int zeile = 0; zeile < notenliste.length; zeile++) {
       for (int spalte = 0; spalte < notenliste[0].length; spalte++) {
          avg=avg+notenliste[zeile][spalte];                
       }       
    }
    avg=avg/(notenliste.length*notenliste[0].length);
    
    System.out.println("Gesamtdurchschnitt: "+avg);

    
    System.out.println("");  
    System.out.println("4. Bestimmen Sie den Notendurchschnitt jedes Schülers. ");

    //schueler=1;
    for (schueler = 0; schueler < notenliste.length; schueler++) {
    avg=0;
    
    for (int spalte = 0; spalte < notenliste[0].length; spalte++) {
           avg=avg+notenliste[schueler][spalte];           
    }        
    avg=avg/notenliste.length;
    System.out.println("Durchschnitt Schüler "+(schueler+1)+":"+avg);            
    }
        
    System.out.println("");
    System.out.println("5. Listen Sie für jede Klassenarbeit die beste und schlechteste Note auf. ");
    
    //int ka=2;
    for (ka = 0; ka < notenliste[0].length; ka++) {
            
    schlechtesteKA=0;
    schlechtesteKAi=0;
    float besteKA=7;
    int besteKAi=0;
    
    for (int zeile = 0; zeile < notenliste.length; zeile++) {
         if (notenliste[zeile][ka]>schlechtesteKA) {
             schlechtesteKA=notenliste[zeile][ka];
             schlechtesteKAi=zeile;
         }   
         if (notenliste[zeile][ka]<besteKA) {
             besteKA=notenliste[zeile][ka];
             besteKAi=zeile;
         }            
    }
    System.out.println("Schlechteste Note bei KA "+(ka+1)+" ist:"+schlechtesteKA
            +" von Schüler "+(schlechtesteKAi+1));
    
    System.out.println("Beste Note bei KA "+(ka+1)+" ist:"+besteKA
            +" von Schüler "+(besteKAi+1));
    
    }
    
    System.out.println("");
    System.out.println("6.  Bestimmen Sie den Schüler mit der schlechtesten Note ");
   
    for (int zeile = 0; zeile < notenliste.length; zeile++) {
        float schlechtesteNote=0;
        int schlechtesteNoteSchueler=0;
        
        for (int spalte = 0; spalte < notenliste[0].length; spalte++) {

        if (notenliste[zeile][spalte]>schlechtesteNote) {
             schlechtesteNote=notenliste[zeile][spalte];
             schlechtesteNoteSchueler=zeile;
         }   
    }
    
    System.out.println("Schlechteste Note von Schüler "+(schlechtesteNoteSchueler+1)+" ist: "+schlechtesteNote);
    }
    
    System.out.println("");
    System.out.println("7. Bestimme Sie, ob eine bestimmte Note bei einer bestimmten Klassenarbeit vergeben wurde. ");
    
    float noteGesucht=3.2f;
    boolean gefunden=false;
    aussen: for (int zeile = 0; zeile < notenliste.length; zeile++) {
        innen: for (int spalte = 0; spalte < notenliste[0].length; spalte++) {
          if (notenliste[zeile][spalte]==noteGesucht) {
              gefunden=true;
              break aussen;
          }
      }
    }
    if (gefunden) {
            System.out.println("Note "+noteGesucht+" kommt vor.");
    } else {
            System.out.println("Note "+noteGesucht+" kommt nicht vor.");        
    }
 }
}
