Corso Live Part-time Su Fondamenti Di Java › Forum › Java › esercizi array
- Questo topic ha 3 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 2 anni, 9 mesi fa da Luigi.
-
AutorePost
-
18 Febbraio 2022 alle 18:52 #5652LuigiPartecipante::
salve vorrei delucidazioni sul seguente esercizio:
“44. Creare una matrice 10×10 a spirale, ossia una matrice con 10 righe e 10 colonne così composta:1 2 3 4 5 6 7 8 9 10
36 37 38 39 40 41 42 43 44 11
35 64 65 66 67 68 69 70 45 12
34 63 84 85 86 87 88 71 46 13
33 62 83 96 97 98 89 72 47 14
32 61 82 95 100 99 90 73 48 15
31 60 81 94 93 92 91 74 49 16
30 59 80 79 78 77 76 75 50 17
29 58 57 56 55 54 53 52 51 18
28 27 26 25 24 23 22 21 20 19”
grazie infinite per la dispnonibilità.19 Febbraio 2022 alle 09:56 #5663adminAmministratore del forum::Salve, effettivamente l’esercizio viene visualizzato male.
Nella matrice, i numeri partono da 1 fino a 100, partendo dallo strato più esterno e procedendo verso l’interno, formando una spirale.
Quindi nella prima riga, si parte da 1 a 10. Poi si procede nell’ultima colonna da 10 a 19.
Poi si va nell’ultima riga, da destra verso sinistra, con i numeri da 19 a 28.
Poi, si va nella prima riga, partendo dal basso verso l’alto, fermandosi alla seconda riga, con i numeri da 28 a 36.
Dalla riga il giro si ripete, formando una specie di spirale che si chiude verso l interno dalla matrice con il numero 100.1 2 3 4 5 6 7 8 9 10
36 37 38 39 40 41 42 43 44 11
35 64 65 66 67 68 69 70 45 12
34 63 84 85 86 87 88 71 46 13
33 62 83 96 97 98 89 72 47 14
32 61 82 95 100 99 90 73 48 15
31 60 81 94 93 92 91 74 49 16
30 59 80 79 78 77 76 75 50 17
29 58 57 56 55 54 53 52 51 18
28 27 26 25 24 23 22 21 20 19
(purtroppo nel forum non allinea correttamente le colonne)Mi faccia sapere se ha bisogno di ulteriori chiarimenti
Antonio23 Febbraio 2022 alle 17:12 #5682LuigiOspite::Salve, professor Pagano volevo sapere cosa c’è di sbagliato nel codice e perché mi esce il seguente risultato.
grazie per la disponibilità, cordiali saluti:
1 2 3 4 5 6 7 8 9 10
0 0 0 0 0 0 0 0 0 11
0 0 0 0 0 0 0 0 0 12
0 0 0 0 0 0 0 0 0 13
0 0 0 0 0 0 0 0 0 14
0 0 0 0 0 0 0 0 0 15
0 0 0 0 0 0 0 0 0 16
0 0 0 0 0 0 0 0 0 17
97 98 0 0 0 0 0 0 0 18
100 99 26 25 24 23 22 21 20 19
codicepackage ese;
public class e22 {
public static void main(String[] args) {
int n = 10;
System.out.println(“Spiral pattern is: \n”);
printSpiralpattern(n);}
private static void printSpiralpattern(int n) {
int row = 0, col = 0;
int b = n -1;
int s = n -1;
int f = 1;
char m = ‘r’;
int [][] a = new int [n][n];
for(int i = 1; i < n*n+1; i++)
{
a[row][col] = i;
switch(m) {
case ‘r’:
col += 1;
break;
case ‘l’:
col -= 1;
break;
case ‘u’:
row -= 1;
break;
case ‘d’:
row += 1;
break;
}
if (i == b) {
b = b + s;
if (f != 2) {
f = 2;
}
else {
f = 1;
s = 1;
}
switch (m)
{
case ‘r’:
m = ‘d’;
break;
case ‘d’:
m = ‘l’;
break;
case ‘l’:
m = ‘u’;
break;
case ‘u’:
m = ‘r’;
break;}
}
}
for(row = 0; row < n; row++) {
for(col = 0; col < n; col++) {
int o = a[row][col];
if(o < 100)
System.out.print(o + ” “);
else
System.out.print(o + ” “);
}
System.out.println();
}}
}
24 Febbraio 2022 alle 11:24 #5684ANTONIO PAGANOOspite -
AutorePost
- Devi essere connesso per rispondere a questo topic.