Valeria4 ha scritto:
Devo usare un array bidimensionale. La cosa che non mi è chiara è come creare la cornice interna
Usare un array bidimensionale è ok. Puoi farlo come char[][] (con già dentro i caratteri) o come boolean[][] se poi successivamente (quando stampi, chiaramente) "traduci" false in un carattere ("%") e true in un altro ("£"). Il boolean[][] è comodo più che altro perché è già tutto inizializzato con false. Mentre con un char[][] lo devi inizializzare tu perché ci sono valori 0.
Dato che hai parlato di cornici
concentriche, ce ne possono essere
n a seconda di quanto è grande il lato della matrice. Basta calcolarle. Le cornici sono ogni 2 caratteri e siccome è tutto "simmetrico" devi ancora dividere per due.
In pratica:
int numCornici = lato / 4;
Ora sai quante cornici disegnare. Farai quindi un ciclo da 0 per <numCornici. Ad ogni ciclo disegni
una cornice. Per farlo ti basta un ulteriore ciclo for ed è sufficiente notare una cosa: un indice lo puoi usare per le due linee verticali (fissando la colonna) e per le linee orizzontali (fissando la riga).
La prima cornice ha indici 1...lato-2, la seconda 3...lato-4, ecc...