più che n poi direi m, se m è il numero delle colonne.
quindi avrai un ciclo nidificato
i (righe) da 0 a <4
j (colonne) da 0 a <m
per quanto riguarda la memorizzazione hai varie possibilità, quella più semplice è avere due indici:
rigacorrentepositivo (che può essere 0 o 1), parte da 0
quantielementipositivi, parte da 0 fino a m-1
rigacorrentenegativo (che può essere 2 o 3), parte da 2
quantielementinegativi, parte da 0 fino a m-1
in pseudocodice farai qualcosa del tipo (NOTA: nessuno dice di valori 0...)
codice:
se l'elemento i,j è positivo allora
se quantielementipositivi <m-1 allora // c'è posto nella riga corrente
metti in risultato[rigacorrentepositivo][++quantielementipositivi]
altrimenti // abbiamo riempito la riga
metti a zero quantielementipositivi // torniamo "a capo"
rigacorrentepositivo++ // passiamo alla prossima riga
... analogamente per i negativi
in quanto modo hai due indici per la memorizzazione: una riga, ed una colonna.
Capisci che la riga è piena quando la colonna raggiunge la dimensione della riga, nel qual caso
fai qualcosa di simile all'utilizzo di una macchina da scrivere: CR e LF (cioè vai a capo ed aumenti di una riga)
l'alternativa più elegante è quello di calcolare le coordinate in cui memorizzare i dati come modulo e resto del numero degli elementi inseriti su dimensione riga, ma visto che sei ai primissimi passi inizierei con qualcosa simile a quanto sopra.