Ciao a tutti,
sono un ragazzo alle prime armi del C...e volevo sapere se c'era qualcuno che mi potesse dare qualche piccolo consiglio sul come implementare quasto piccolissimo algoritmo.
Per quanto riguarda l'inserimento pensavo di usare una lista e per andare a mettere i numeri in matrice dei cicli for annidati(anche se non son sicuro) ma per quanto rigurda la seconda parte non so cosa poter usare.
Dato in ingresso ad esempio questi numeri:
1 1 1 1 1 2 2 2 2 2 2 2 2
1 1 2 2 3 1 1 1 2 2 3 3 3
Ci troveremo con la seguente matrice:
2 2 1
3 2 3
E diventa così perché:nella prima casella in alto a sinistra ci va il due perché nelle coppie(coppie che si prendono per il verticale) di 1 1 ce ne sono due(1 1 sarebbe la posizione della casella), sotto il due c’è un tre perché quella casella corrisponde alla posizione 2 1 e di 2 1 ce ne sono tre nelle coppie di numeri.
Dopo quel passaggio lì si va a fare la seguente tabella
1 | 3 |5 |
2 | 4 | |
| | |
-----|------|------
3 |6 |8 |
4 | 7 | 9 |
5 | | 10 |
Si parte sempre dalla prima casella in alto a sinistra. Nella prima casella ci andranno dunque due numeri perché nella tabella di prima nella stessa casella c’era il due e quindi metteremo uno e due. Nella casella a fianco metteremo altri due numeri perché nella tabella precedente c’era un due e metteremo un 3 e 4 perché devono essere in fila. Nell’ultima casella della prima riga ci andrà un solo numero perché nella tabella precedente c’era un uno e quindi ci metteremo un 5 sempre perché devono essere in fila.
Poi passiamo alle caselle della seconda riga e nella prima casella, nella tabella precedente avevamo un 3 quindi metteremo tre numeri (per capire quali numeri dobbiamo mettere la regola è la seguente :dobbiamo mettere i numeri che vanno di fila a quello più grande che ci stà a NORD-OVEST) e siccome che a ovest non c’è niente ma a nord ce la casella con 1 e 2 ci metteremo 3-4-5 poi passiamo alla casella a fianco e seguendo lo stesso ragionamento andremo a completare la tabella.
In teoria i numeri presenti nella tabella dovrebbero essere della palline quindi cerchiati ma se non ci si riesce fa lo stesso.
Grazie per l'attezione.
Ciao a tutti!!!