Originariamente inviato da m3phisto
Io ho creato un array sovradimensionato v2, pensando che andasse ad inserire automaticamente in ogni posizione l incrementata i valori di interi ricavati leggendo ogni riga..Non posso farlo ugualmente così? Cioè, legge la prima riga della matrice,ed inserisce i valori di interi nel vettore, occupando 3 posizioni del vettore, poi legge la seconda riga, e riprende a scrivere sul vettore dalla posizione 4..Non so se sono stato chiaro XD
No ... non è questione di 1 assegnamento (del reference)!!! Lo ripeto: devi usare quel accodaArray(). I singoli valori dell'array ritornato da comprimiArray() li devi assegnare uno per uno a partire da una certa posizione 'pos' del tuo array sovradimensionato.
Ed è appunto questo che dovrebbe fare accodaArray!!

E già che ci sono ti dò un altro "indizio" molto utile (spero). La logica che hai usato in comprimiArray potrà anche funzionare (non l'ho controllato per bene) ma .... è lunga, vedo che fai un sacco di cose (pure moltiplicazioni per -1!!) e usi diverse variabili. La logica che hai usato va a "contare" le sequenze di true e false e usi addirittura 2 contatori!

No ... vuoi l'indizio?? Eccolo: non ti serve "contare" le sequenze. Ti basta decrementare o incrementare di 1 il valore ad un certo indice a seconda se hai un false o true.

Immagina: false, false, true, true, false. Non sai a priori quanti valori avrai, quindi istanzi un int[] arr di 5 elementi. Usi una variabile es. 'idx' inizialmente a 0.
Il primo è false, quindi decrementi arr[idx], il secondo è pure false, quindi decrementi ancora arr[idx]. Il terzo è true, ora dovresti incrementare. Però non più all'indice 0 ma all'indice 1.

Morale della favola: ti basta decrementare o incrementare in base al false/true ... cosa che si fa con 1 riga di codice (se si usa l'operatore ternario ?) o con poche righe (con if e else).
L'unica cosa particolare è il passaggio da un indice al successivo ma per questo basta il test di "diverso" tra due boolean adiacenti che oltretutto hai già scritto.

Bello l'indizio ... no?