Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla
DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla
DJI ha appena ufficializzato la serie Lito, la sua nuova gamma di droni entry-level destinata a chi si avvicina per la prima volta alla fotografia aerea. Al centro dell'annuncio ci sono due modelli ben distinti per fascia di prezzo e specifiche tecniche: DJI Lito 1 e DJI Lito X1. Entrambi si collocano sotto la soglia regolamentare dei 249 grammi, che permette di volare con requisiti burocratici più semplici rispetto ai droni più pesanti.
Sony World Photography Awards 2026: i premiati, anche italiani, il punto sulla fotografia di oggi
Sony World Photography Awards 2026: i premiati, anche italiani, il punto sulla fotografia di oggi
Siamo stati a Londra per la premiazione dei Sony World Photography Awards 2026, l'evento a tema fotografia più prestigioso. Fra sorprese e novità, ne approfittiamo per fare il punto sulla fotografia contemporanea, in cui la didascalia è sempre più necessaria a cogliere il senso della quasi totalità degli scatti.
Una settimana con Hyundai Ioniq 5 N-Line: diverte e convince
Una settimana con Hyundai Ioniq 5 N-Line: diverte e convince
L'elettrica di casa Hyundai propone una versione AWD con estetica derivata dalla famiglia N. L'abbiamo provata per diversi giorni, per scoprire tutti i dettagli e la vera autonomia in autostrada
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-05-2009, 13:53   #1
devbeginner
Member
 
Iscritto dal: May 2009
Messaggi: 274
[Java] Problema con gli array

Ciao a tutti.
Ho cominciato gli array bidimensionali per Programmazione1 all'Università ma non ci sto capendo molto


1) Scrivete un programma che azzera tutti gli elementi di una matrice di int bidimensionale di n * m posizioni con n e m letti in input durante l'esecuzione. Fate visualizzare la matrice per controllare.

Quello che non riesco a capire è l'operazione di azzerare.

Il codice che ho scritto al momento è il seguente:

Codice PHP:
class Array291 {
    public static 
void main (String[] args) {
    
System.out.println("Inserisci il numero di righe della matrice: ");
    
int n Leggi.unInt();
    
System.out.println("Inserisci il numero di colonne della matrice: ");
    
int m Leggi.unInt();
    
    
int [][]matrice;
    
matrice = new int[n][m];
    
    for (
int i 0ni++)
        for (
int i 0mi++) 
Il metodo Leggi fa parte di una classe creata ad hoc dal professore.
La dichiarazione e l'inizializzazione della matrice credo siano corretti, poi i 2 for per riga e colonna...ma poi?
Scusate per la banalità del quesito ma mi sono più chiari forse metodi e classi che sta roba
devbeginner è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2009, 14:07   #2
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2789
Non puoi usare "i" sia per il for più esterno che per quello più interno. Se hai provato a compilare dovrebbe averti già segnalato l'errore.
Se ad esempio nel for più interno userai "j" l'azzeramento sarà
Codice:
matrice[i][j]=0;
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2009, 14:36   #3
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Mi chiedo come si faccia a far studiare a qualcuno un array bidimensionale usando un array multidimensionale

Comunque se hai un array:

int[][] array = new int[righe][colonne];

lo scorrimento degi componenti di quell'array avviene come suggerito da wingman:

Codice:
for(int indiceRiga = 0; indiceRiga < array.length; indiceRiga++) {
    for(int indiceColonna = 0; indiceColonna < array[indiceRiga].length; indiceColonna++) {
        //se vuoi assegnare un valore al componente dell'array
        array[indiceRiga][indiceColonna] = qualcosa

        //se vuoi accedere al valore del componente dell'array
        qualcosa = array[indiceRiga][indiceColonna];
    }
}
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2009, 16:05   #4
devbeginner
Member
 
Iscritto dal: May 2009
Messaggi: 274
Ehm errore mio in effetti, l'argomento sono gli array multidimensionali e siamo partiti da quelli bidimensionali

Due domande se posso:
1) perché nel secondo ciclo usi indiceRiga e non indiceColonna?
2) che cosa intendi per componente di un array?
devbeginner è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2009, 16:43   #5
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Certo che puoi.

Componente è il termine con cui si indicano gli elementi di un array Java.

Quanto a indice colonna la ragione sta nell'algoritmo.

Mettiamo da una parte gli array java per i quali non vale esattamente quanto dico. Se hai una matrice di N righe ed M colonne per azzerare i suoi elementi uno alla volta devi accedere ad ogni suo elemento, su questo non ci piove.

Ma come accediamo a questi elementi?

Possiamo pensare alla nostra matrice come ad una lista di righe. Se la matrice è NxM allora immaginiamo che sia una lista che contiene N righe:

riga zero
riga uno
riga due
...
riga N - 1

Ogni riga è a sua volta una lista che contiene un valore per ogni colonna della matrice.

riga zero = (A, B, C)
riga uno = (E, F, G)
riga due = (H, I, L)
eccetera...


Se voglio cambiare il valore di A in questa mia visione "a liste" della matrice devo prendere la prima riga della matrice e poi prendere il primo elemento di quella riga.

Se voglio cambiare il valore di B devo prendere la prima riga della matrice e poi prendere il secondo elemento di quella riga.

Se voglio cambiare il valore di C devo prendere la prima riga e poi prendere il terzo elemento di quella riga.

Nota come l'accesso ad ogni elemento di una stessa riga richiede che l'indice della riga resti costante mentre varia l'indice dell'elemento sulla riga.

per la prima riga
+cambia il primo elemento, poi il secondo, poi il terzo
per la seconda riga
+ cambia il primo elemento, poi il secondo, poi il terzo
per la terza riga
+cambia il primo elemento, poi il secondo, poi il terzo
eccetera

Se generalizziamo l'idea dello scorrimento degli elementi della nostra matrice pensata per righe abbiamo:

per ogni riga da 0 a NUMERO_RIGHE - 1
+"e qui devo scorrere ogni elemento di quella riga"

se la riga "è una lista" allora gli elementi di quella riga hanno un indice (dovrebbe essere una lista indicizzata per la verità ma non cerchiamo il pelo nell'uovo). Indice che è diverso da quello dello righe: se mi trovo nella riga 5, quella riga avrà M elementi, da 0 a M - 1.

Quindi:

per ogni riga da 0 a NUMERO_RIGHE - 1
+gli elementi di quella riga hanno indice che va da 0 a X

E qui abbiamo i due indici. Uno mi serve per scorrere tutte le righe, uno mi serve per scorrere tutti gli elementi che stanno sulla riga in cui di volta in volta mi trovo.

Quanti elementi stanno sulla riga di una matrice? Be', se la matrice è rettangolare ed M è il numero di colonne allora ci saranno M elementi.

Da cui quanto scritto sopra.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2009, 16:54   #6
devbeginner
Member
 
Iscritto dal: May 2009
Messaggi: 274
Grazie mille, scusa il ritardo.
Credo di aver capito

magari avere un prof chiaro come te

faccio un'altra domanda però relativa all'argomento dopo...creo un thread ad hoc magari
devbeginner è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla DJI Lito 1 e Lito X1 recensione: i nuovi droni p...
Sony World Photography Awards 2026: i premiati, anche italiani, il punto sulla fotografia di oggi Sony World Photography Awards 2026: i premiati, ...
Una settimana con Hyundai Ioniq 5 N-Line: diverte e convince Una settimana con Hyundai Ioniq 5 N-Line: divert...
Recensione OPPO Find X9 Ultra: è lui il cameraphone definitivo Recensione OPPO Find X9 Ultra: è lui il c...
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet Ecovacs Deebot X12 OmniCyclone: lava grazie a Fo...
Le 7 offerte Amazon migliori di oggi: da...
Fibra ottica in casa da 50 Giga simmetri...
Google pronta a investire fino a 40 mili...
Xiaomi H40 a 199€: robot aspirapolvere b...
La nuova BMW iX3 cambia colore davvero: ...
Cloud VPS con WireGuard: da Aruba Cloud ...
Mova P50 Pro Ultra o DREAME L40 Ultra AE...
GPU gaming Intel Arc al capolinea? Non s...
Stop agli update forzati su Windows 11: ...
GWM ad Auto China 2026: l'intelligenza n...
Final Fantasy XIV arriva su Switch 2 ad ...
Hyundai IONIQ V: ora il mercato cinese d...
Alien: Isolation 2 si mostra con un teas...
Amazfit Active 2 Premium 44mm scende a s...
Secondo indiscrezioni il debutto dei pro...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:55.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v