[Java] Array Deklarieren,Kleinstes und Größtes Element suchen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Ehmteakay, 31. Januar 2011 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 31. Januar 2011
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    Array Deklarieren,Kleinstes und Größtes Element suchen

    Bild

    wie mach ich das richtig ?

    das ist für euch bestimmt ein Kinderspielplatz
     
  2. 31. Januar 2011
    AW: Array Deklarieren,Kleinstes und Größtes Element suchen

    Ich habs nicht getestet, aber so sollte das funktionieren:
    Code:
    int max_row, max_col, min_row, min_col; 
    
    int min = Integer.MAX_VALUE;
    int max = Integer.MIN_VALUE;
    
    for(int row=0; row < a.length; row++) {
     for(int col=0; col < a[row].length; col++) {
     if(a[row][col] < min) {
     min = a[row][col];
     min_row = row;
     min_col = col;
     }
     
     if(a[row][col] > max) {
     max = a[row][col];
     max_row = row;
     max_col = col;
     }
     }
    }
    
    a[max_row][max_col] = min;
    a[min_row][min_col] = max;
    
    Ich hatte keine Lust den Code zu kommentieren, aber wenn du Fragen hast, stell sie!
     
  3. 31. Januar 2011
    AW: Array Deklarieren,Kleinstes und Größtes Element suchen

    in php

    PHP:
    $matrix  = array 
        ( array ( 
    3 , - 5 ,    8 ,    9 , - 7 ),
          array (
    25 ,   0 , - 53 ,    6 45 ),
          array (
    3 ,   78 ,    1 , - 23 18 ),
          array (
    4 ,    2 ,    1 ,   64 , - 12 ) );
          
    $max      0 ;  
    $max_pos  = array( 0 0 );
    $max_fnd  false ;

    $min      0 ;
    $min_pos  = array( 0 0 );
    $min_fnd  false ;

    // min/max finden:
    for ( $i  0 $c  count ( $matrix );  $i  $c ; ++ $i ) {
        for (
    $j  0 $r  count ( $matrix [ $i ]);  $j  $r ; ++ $j ) {
            if (!
    $max_fnd  ||  $matrix [ $i ][ $j ] >  $max ) {
                
    // größer als zuletzt gefundener wert?
                
    $max      $matrix [ $i ][ $j ];
                
    $max_pos  = array ( $i $j );
                
    $max_fnd  true ;
            } else if (!
    $min_fnd  ||  $matrix [ $i ][ $j ] <  $min ) {
                
    // kleiner als zuletzt gefundener wert?
                
    $min      $matrix [ $i ][ $j ];
                
    $min_pos  = array ( $i $j );
                
    $min_fnd  true ;
            }
        }   
    }

    if ((!
    $min_fnd  || ! $max_fnd ) ||  $min  ==  $max )
        exit(
    'fehler: der array scheint leer oder mit gleichen werten befüllt zu sein' );

    // austauschen
    $matrix [ $max_pos [ 0 ]][ $max_pos [ 1 ]] =  $min ;
    $matrix [ $min_pos [ 0 ]][ $min_pos [ 1 ]] =  $max ;
    nach java portiert:
    Spoiler
    Code:
    import java.lang.StringBuilder;
    
    public class Main
    {
     public static void main(String[] args)
     {
     int matrix[][] = 
     { { 3, -5, 8, 9, -7 },
     { 25, 0, -53, 6, 45 },
     { 3, 78, 1, -23, 18 },
     { 4, 2, 1, 64, -12 } };
     
     int min = 0, 
     min_pos[] = { 0, 0 },
     max = 0,
     max_pos[] = { 0, 0 };
     
     boolean min_fnd = false,
     max_fnd = false;
     
     // min/max finden:
     for (int i = 0, c = matrix.length; i < c; ++i) {
     for (int j = 0, r = matrix[i].length; j < r; ++j) {
     if (!max_fnd || matrix[i][j] > max) {
     // größer als zuletzt gefundener wert?
     max = matrix[i][j];
     max_pos[0] = i;
     max_pos[1] = j;
     max_fnd = true;
     } else if (!min_fnd || matrix[i][j] < min) {
     // kleiner als zuletzt gefundener wert?
     min = matrix[i][j];
     min_pos[0] = i;
     min_pos[1] = j;
     min_fnd = true;
     }
     } 
     }
     
     if ((!min_fnd || !max_fnd) || min == max) {
     System.out.println("fehler: der array scheint leer oder mit "
     + "gleichen werten befüllt zu sein");
     
     System.exit(1);
     }
     
     // austauschen
     matrix[max_pos[0]][max_pos[1]] = min;
     matrix[min_pos[0]][min_pos[1]] = max; 
     
     // ausgabe
     System.out.println((new StringBuilder())
     .append("min: ").append(min).append(" ( row: ")
     .append(min_pos[0]).append(", col: ").append(min_pos[1])
     .append(" )\nmax: ").append(max).append(" ( row: ")
     .append(max_pos[0]).append(", col: ").append(max_pos[1])
     .append(" )").toString());
     }
    }
    
    ausgabe sollte sein:
    Code:
    min: -53 ( row: 1, col: 2 )
    max: 78 ( row: 2, col: 1 )
     
  4. 31. Januar 2011
    AW: Array Deklarieren,Kleinstes und Größtes Element suchen

    das sieht ja schonmal nett aus

    thx euch

    bw geht raus
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.