Stampa su console di array tridimensionali

garnak.olegovitc1
Salve a tutti,
sono uno studente che ha studiato il linguaggio di programmazione C, nei miei corsi ho affrontato solamente array sino a due dimensioni e la loro stampa su console (o schermo); sapendo che è possibile lavorare con array tridimensionali (seppur hanno bisogna di molta memoria) mi domandava se era possibile stamparli? Se questa fosse no, perchè?
Cordiali saluti?

Risposte
apatriarca
Gli array multidimensionali sono spesso difficili da usare (gli array monodimensionali sono infatti molto più facili da passare alle funzioni e allocare dinamicamente). Questa è la ragione per cui è difficile vedere array con 3 o più dimensioni. Non riesco però a capire il senso della tua domanda. Per visualizzare un array di qualsiasi dimensione è necessario scrivere esplicitamente il codice per stamparlo. Siccome lo schermo è piatto, non sarà ovviamente possibile stampare l'array in 3D, ma si possono stampare una dopo l'altra le matrici bidimensionali ottenute fissando l'ultima coordinata. Devi insomma avere un ulteriore ciclo intorno al codice che stampa le matrici bidimensionali.

garnak.olegovitc1
Salve apatriarca,
nella tua risposta

"apatriarca":
Siccome lo schermo è piatto, non sarà ovviamente possibile stampare l'array in 3D, ma si possono stampare una dopo l'altra le matrici bidimensionali ottenute fissando l'ultima coordinata. Devi insomma avere un ulteriore ciclo intorno al codice che stampa le matrici bidimensionali.


ho trovato ciò che mi interessava
Cordiali saluti

vict85
Tutto dipende da qual'è il significato che ha l'array multidimensionale.

Un array tridimensionale di char molto probabilmente è una matrice bidimensionale di stringhe. Una matrice tridimensionale di float potrebbe essere una matrice di polinomi di un certo grado. Oppure potresti volendo anche avere una matrice di punti di uno spazio $RR^3$. In questi casi potrebbe essere conveniente usare degli array o delle matrici di strutture abbassando di fatto la dimensione dell'array. Il tutto dipende da qual'è lo scopo dell'array. Una immagine RGB può essere vista come un array tridimensionale (il colore non è uno scalare)
Il modo in cui viene visualizzato dipende da qual'è inoltre l'uso: non sempre ha senso visualizzare tutto l'array, altre volte inoltre si usano altri tipi di visualizzazione come nel caso dell'immagine o anche dei punti dello spazio.
Il memorizzare in certi modi un array potrebbe anche avere scopi di ottimizzazione e in questo caso il modo in cui i dati sono memorizzati potrebbe non avere senso per l'utente finale.

garnak.olegovitc1
Salve vict85,
grazie ancora.
Cordiali saluti

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.