- Questo topic ha 3 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 3 anni, 1 mese fa da
Luigi.
-
AutorePost
-
19 Febbraio 2022 alle 09:56 #5663
admin
Amministratore 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 #5682Luigi
Ospite::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 PAGANO
Ospite -
AutorePost
- Devi essere connesso per rispondere a questo topic.