Esercizio java

di il
9 risposte

Esercizio java

Ciao ragazzi ho un problema con questo esercizio in java...qualche consiglio su come svolgerlo?
Dovrei usare la ricorsione giusto?
Un tappeto magico di ordine n (0 = n = 5) e parametro k (0 = k < 9) `
e una matrice 3^n × 3^n , a valori binari, definita induttivamente nel seguente modo:
• se n = 0 (matrice 1 × 1), allora l’unico elemento della matrice vale 1;
• se n > 0 (matrice 3^n × 3^n ), si consideri una suddivisione della matrice in 9
blocchi di dimensioni 3^n-1 × 3^n-1 ciascuno. Si considerino numerati da 0 a 8
i blocchi, in questo modo:
0 1 2
3 4 5
6 7 8
Il blocco numero j (0 = j < 9) `
e a sua volta
– un blocco di elementi tutti uguali a zero, se j = k;
– un tappeto magico di ordine n - 1 e parametro k, se j = k.
Si vuole realizzare un programma Java che dati n e k stampi una rappresentazione
testuale di un tappeto magico di ordine n e parametro k.
Formato di Input. L’input `
e strutturato nel seguente modo:
• una riga contenente i due interi n e k, separati da uno spazio.
Si assuma che n e k soddisfino i vincoli 0 = n = 5, 0 = k < 9.
Formato di Output. Si deve stampare un tappeto magico di ordine n e parametro
k, secondo la seguente codifica:
• i valori uguali a 0 sono rappresentati dal carattere ’.’;
• i valori uguali a 1 sono rappresentati dal carattere ’*’.
I valori su una stessa riga non sono separati da spazi. Ciascuna riga della matrice `
e
terminata dall’usuale newline ’\n’.

Grazie!

9 Risposte

  • Re: Esercizio java

    Qualcuno è in grado di darmi dei consigli su come svolgerlo?
  • Re: Esercizio java

    Dire che c'ho capito qualcosa sarebbe una bugia....
    direi che il discorso è molto arzigogolato...
    Non fai meglio a buttare giù del codice se non va qualcosa possiamo guardare?

    Forse sarebbe meglio così
  • Re: Esercizio java

    Cosa fa un tappeto magico? Ma sopratutto si parla di 0 e 1, gli altri valori? Probabilmente come dice shumy2000 un po` di codice?

    Inviato dal mio LG-E440 con Tapatalk
  • Re: Esercizio java

    Mport java.io.*;
    import java.util.*;

    class Tappeto_Magico {
    void matrice(int n,int k,int [][]m){
    if(n==0){
    m[0][0]=1;
    }else{
    for(int j=0;j<9;j++){

    if(j==k){
    for(int i1=0;i1<m.length;i1++){
    for(int j0=0;j0<m.length;j0++){
    m[i1][j0]=0;
    System.out.print(m[i1][j0]);
    }
    System.out.print("\n");
    }
    }else{

    matrice(n,k,m);
    }
    }

    }


    }
    public static void main(String []args) throws IOException{
    BufferedReader br=new BufferedReader( new InputStreamReader(System.in));
    String s=br.readLine();
    StringTokenizer st=new StringTokenizer(s);
    int n=Integer.parseInt(st.nextToken());
    int k=Integer.parseInt(st.nextToken());
    Tappeto_Magico t=new Tappeto_Magico();
    int[][] m=new int[(int)Math.pow(3,n)][(int)Math.pow(3,n)];
    t.matrice(n, k,m);

    }
    }


    in pratica ho seguito la traccia dell'es e ho cercato di fare il passo base quando la matrice è n^0xn^0...allora il primo elemento della matrice m[0][0]=1 sennò faccio un for da 0 a 9 con indice j e richiamo la matrice con n-1 poi vedo se j==k..se lo è stampo la matrice con due for ...se j!= k richiamo il metodo con n-1...ma nn capisco il "ritaglio" della matrice come va fatto ricorsivamente...Grazie
  • Re: Esercizio java

    Cmq il tappeto magico sarebbe una matrice fatta cosi:
    se io scelgo n=2 e k=4 allora il metodo mi dovrà stampare

    *********
    *.**.**.*
    *********
    ***...***
    *.*...*.*
    ***...***
    *********
    *.**.**.*
    *********
  • Re: Esercizio java

    Nessuno riesce a darmi una mano?
  • Re: Esercizio java

    Nessuno è in grado di fare questo esercizio?
  • Re: Esercizio java

    Pensavo fosse un forum di programmatori...ma a quanto pare mi sbagliavo...
  • Re: Esercizio java

    Universita Sapienza di Roma: consegna del compito entro il 30 Ottobre...
    Bella storia ...
Devi accedere o registrarti per scrivere nel forum
9 risposte