Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 39
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    327

    [C] Costruzione Di Una Matrice!

    Salve ragazzi, ho studiato che un amtrice è formata da un vettore di x celle che a loro volta punatno a x vettori d w celle.
    Si viene dunque a creare una matrice x*w.
    Potreste farmi un esempio concreto di una tale matrice?
    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    E fare una ricerca ?

    http://forum.html.it/forum/showthrea...readid=1204507

    P.S. Fai attenzione! Correggi il titolo come da regolamento ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    327
    Avevo già visto quella discussione.. ma li c'era qualcosa di piu' complicato..
    Io avrei semplicemente voluto capire come si faceva qualcosa del genere;
    Dichiarazione dei vettori, disposizione dei due cicli for annidatie riempimento..
    Insomma quello che volevo vedere, e se qualcuno potesse farmi vedere un esempio ne sarei grato, è la visualizzazione di una matrice 10 X 10 riempita ad es. di asterischi.
    Grazie in anticipo

  4. #4
    Lì non c'è nulla di complicato e viene mostrato esattamente quello che chiedi, anche se, invece di essere una matrice 10x10 che viene riempita di asterischi è una matrice di dimensioni arbitrarie (perché se no dovrei usare l'allocazione dinamica?) riempita di numeri casuali; semplicemente l'esempio è lungo perché è pieno di commenti.
    D'altra parte quell'esempio mostra un metodo diverso da quello te descritto per allocare un array (si alloca tutta la memoria necessaria e la si utilizza come se fosse un array "normale"); il metodo da te citato nel tuo primo post comunque è già stato spiegato in qualche altra discussione.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    327
    Ho provato a cercare ma non lo trovo..
    Visto che voi siete esperti, ed è per questo che mi rivolgo a voi, non capisco perchè visto che mi vedete in difficoltà continuate a indicarmi soluzioni alternative, a reindirizzarmi a programmi piu' complessi, quando vista la vostra preparazione so che non ci mettereste nulla scrivere due for annidati..

  6. #6
    Ascolta, se ti dico che il programma che ti serve ti è già stato linkato perché non provi a leggerlo? È strapieno di commenti, in 10 minuti hai capito come funziona.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    327
    Originariamente inviato da MItaly
    Ascolta, se ti dico che il programma che ti serve ti è già stato linkato perché non provi a leggerlo? È strapieno di commenti, in 10 minuti hai capito come funziona.
    Ecco quello che mi suona nuovo:

    codice:
    			*((int *) array+(count1*ind2)+count2)=rand();

  8. #8
    codice:
    *((int *) array+(count1*ind2)+count2)=rand();
    Al puntatore "array" vengono sommate la posizione nella riga e il prodotto della colonna desiderata per il numero di elementi di ogni riga; il puntatore così ottenuto viene dereferenziato e ad esso viene assegnato un numero casuale; il cast a (int *) serve per assicurarsi che il C applichi correttamente l'aritmetica dei puntatori (e per chiarezza).
    Queste operazioni comunque sono tutte spiegate nel super-commento che segue questa riga di codice.
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    327
    Originariamente inviato da MItaly
    codice:
    *((int *) array+(count1*ind2)+count2)=rand();
    a ^^^b^^^ ^^c^^ ^^^^^^d^^^^^^ ^^^e^^^ ^^f^^^
    Al puntatore "array" (b) vengono sommate la posizione nella riga (e) e il prodotto della colonna desiderata per il numero di elementi di ogni riga (d); il puntatore così ottenuto viene dereferenziato (a) e ad esso viene assegnato un numero casuale (f).
    Queste operazioni comunque sono tutte spiegate nel super-commento che segue questa riga di codice.
    Per approcciarmi alle matrici mi sembra un po' complesso, andare a parlare di deferenziamento (prima che tu lo dicessi non sapevo nemmesno che esistesse) e di assegnamento casuale di numeri.. Non capisco perchè, se in questo momento ho bisogno di capire come si crea una matrice, devo andare a decifrare altre cose.. Io volevo solo sapere come si crea una matrice...
    E' come voler inseganre a correre a chi non sa ancora ben camminare..

  10. #10
    Il numero casuale è solo per assegnare qualcosa nell'esempio (al posto di rand() ci devi inserire il valore da assegnare), e il dereferenziamento (in italiano il termine suona un po' strano, meglio "dereferencing" :master: ) è un concetto fondamentale in C, senza non puoi usare i puntatori (senza i quali non puoi praticamente usare gli array). Hai già studiato i puntatori?
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.