Új hozzászólás Aktív témák

  • #74220800

    törölt tag

    Sziasztok!

    Egy rekurzív képlet kapcsán kérlek segítsetek.

    Röviden: Van egy 2D-s tömbből álló 5x5 mátrixom véletlen értékekkel. Minden mezőből indulva meg kell vizsgálni, hogy kisebb értékekkel rendelkező szomszédos elemek menten (föl, le, balra, le) el lehet-e jutni a mátrix széléig. Fontos, hogy rekurzív képlettel kell megoldani Egy irányba meg tudtam oldani. Most a 9. és 11. valamint 13. és a 16.sorok összeakadnak.

    Itt a drágám:

    public class water{

    public static boolean flows(int row, int column, int arr [][]){

    int x = arr[row][column];

    if (row ==arr.length -1 || row == 0 || column == arr[row].length -1 || column == 0)
    return true;
    else if (flows(row-1,column, arr) && arr[row-1][column] < x)
    return true;
    else if (flows(row+1,column, arr) && arr[row+1][column] < x)
    return true;
    else if (flows(row,column-1, arr) && arr[row][column-1] < x)
    return true;
    else
    return (flows(row,column+1, arr) && arr[row][column+1] < x);
    }

    public static void main(String[] args){

    int arr[][] = new int [5][5];

    for(int i = 0; i < arr.length; i++){
    for(int j = 0; j < arr[i].length; j++){
    System.out.print( (arr[i][j]= (int) (Math.random()*90)+10) + " ");
    }
    System.out.println();
    }

    System.out.println();

    for(int i = 0; i <arr.length; i++){
    for(int j = 0; j < arr[i].length; j++){
    if (flows(i,j, arr))
    System.out.print("-");
    else
    System.out.print("W");
    }
    System.out.println();
    }


    }

    }

Új hozzászólás Aktív témák