Pages: 1 [2]   Go Down
Print
Author Topic: Matrice bidimensionale di stringhe  (Read 7441 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.474


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #15 on: 22-01-2009, 00:51:00 »

Un errore IMHO.

Da wikipedia:
Quote
In matematica, una matrice è uno schieramento rettangolare di oggetti;[...]

  Perdonami ma allora le matrici quadrate cosa sono, puro passatempo ??
Non so chi abbia scritto quella roba su wiki ma è decisamente errata.

Dagli appunti del Prof. Quattrocchi :
Code:
Definizione 7.3 Siano m e n due numeri naturali. Una matrice A di tipo mxn su R è
una tabella di numeri reali
A =
            a11 a12 ... a1n
            a21 a22 ... a2n
            ........................
           am1 am2 .. amn


dove aij appartiene a R per i = 1; 2;... ;m e j = 1; 2;..... ; n. Scriveremo anche
A = (aij) ; i = 1; 2; ..... ; m; j = 1; 2; :.... ; n
Sei tu in errore, secondo la definizione universalmente accettata di matematici per matrice.
Semplicemente, una matrice ha un numero di righe che possiamo chiamare m e un numero di colonne che possiamo chiamare n, ma non si pone che debba valere la condizione che m=n.
Poi, come caso particolare (ma non generale) se si dovesse avere m=n, la matrice sarebbe detta appunto quadrata.
Le matrici quadrate ovviamente non sono un passatempo. Hanno applicazioni reali e usi ben precisi (ma ora non me ne vengono in mente) boh.

Tornando al discorso su array/matrici frastagliate, un array normalmente è una sequenza di "cose" indicizzata con numeri consecutivi (che iniziano da 0 o 1 a seconda del linguaggio di programmazione scelto), un array in cui gli elementi sono a loro volta degli array è un array bidimensionale, e uno in cui ogni elemento è un array bidimensionale è un array tridimensionale... in generale esistono quindi array multidimensionali, secondo la definizione ricorsiva grezzamente accennata da me.

Una matrice può essere rappresentata in Java anche tramite un array bidimensionale in cui ogni riga ha esattamente lo stesso numero di elementi di ogni altra riga dello stesso array bidimensionale. Anche in questo caso, è banale la possibilità di rappresentare matrici quadrate.

Un array bidimensionale è detto frastagliato quando esiste almeno una coppia di righe (di indice diverso) in cui una delle due ha almeno un elemento in più dell'altra (semplicemente, hanno un numero di elementi diversi reciprocamente).

Una matrice (in senso matematico) non può essere di conseguenza mai e poi mai definita "frastagliata".

L'abuso di notazione che ha portato a vedere tuttavia tale accoppiamento di parole (matrice e frastagliata) in alcuni compiti nasce, secondo me, dal fatto che linguaggi di programmazione (che in passato potevano avere riscosso più successo ma che magari erano meno potenti espressivamente) permettevano la definizione solo di array multidimensionali in cui ogni dimensione era mantenuta costante in tutte le sovra-dimensioni (cioè non si poteva avere la frastagliatura), e di conseguenza era banale poter associare "array bidimensionale" con "matrice".

Con queste nozioni che avete adesso, quindi, non avrete problemi a capire che quando si parla di "matrice frastagliata" si sta facendo riferimento sicuramente a un "array bidimensionale frastagliato".

Saluti .
Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
MisteroLupo
Apprendista Forumista
**
Offline Offline

Posts: 273

Tra il dire e il fare c'è distanza di hamming 2.


« Reply #16 on: 22-01-2009, 11:57:34 »

[...]
Sempre esauriente e chiarissimo!!
Logged
carmelo_ct
Guest
« Reply #17 on: 22-01-2009, 17:27:05 »

cmq che argomenti hai chiesto??

Scusami, intendevo, sugli array, matrici, ecc... che ho chiesto, potreste postarmi dei cicli diciamo di "default", che mi facciano scandire le posizioni di ognuno? grazie...
Logged
carmelo_ct
Guest
« Reply #18 on: 22-01-2009, 17:30:09 »

Sì, tutto quello che dice Vyvinz è corretto, apparte il fatto che secondo me è più corretto dire "array bidimensionale non frastagliato" rispetto a "Matrice", in quanto mentre il primo modo per chiamarlo rispecchia una terminologia da programmatore, il secondo è un termine della matematica discreta.

Cosa intendi per "scandire" tutte le posizioni? Forse ti serve un ciclo per assegnare ad ogni locazione un valore? (Tradotto in terra-terra: Vuoi riempire un array?)

Se è come ho capito io ti basta un semplice for di questo tipo:
Code:
import.javax.swing.*                     //Questo lo metti prima ancora di dichiarare la classe

//Quest'altro all'interno di un metodo
for(int i=0; i<array.length; i++)
   array[i] = Integer.parseInt(JOptionPane.showInputDialog("Inserisci l'elemento " + i));

Con quelle 3 righe riempi un vettore "array" di Int con valori personalizzati.

Ti ringrazio, ma io volevo sapere, per esempio, come si ci fa a muoversi dentro un array frastagliato per esaminare un elemento.
Logged
hax
Matricola
*
Offline Offline

Posts: 64


« Reply #19 on: 22-01-2009, 18:43:23 »

Code:
for (int i=0;i<matrice.length;i++)
      for (int j=0;j<matrice[i].length;j++)
             .....................
             .....................
in questo modo ti scorri tutta la matrice frastagliata
« Last Edit: 22-01-2009, 18:45:00 by hax » Logged
carmelo_ct
Guest
« Reply #20 on: 22-01-2009, 19:14:41 »

Code:
for (int i=0;i<matrice.length;i++)
      for (int j=0;j<matrice[i].length;j++)
             .....................
             .....................
in questo modo ti scorri tutta la matrice frastagliata
grazie
Logged
Pages: 1 [2]   Go Up
Print
Jump to: