Guarda.. quando ho aperto io il file e compilato mi veniva un warning su una eventuale mancata assegnazione di mArray... inoltre l'ambiente mi evidenziava le corrispondenze delle parentesi e sembravano esatte (dopo aver tolto quella graffa) .. evidentemente c'é ancora qualcosa di sbilancaito all'interno dell'altro codice che qui manca ...
Chiamate ricorsive e funzioni esterne non erano ciò che intendevo segnalarti per risolvere il problema.. ma qualcosa di ESTREMAMENTE più semplice.. ti dò una traccia (e un consiglio):
Riparti dalla "posizionaNavi" originale, cioè quella prima di questa modifica .. ed utilizza due booleani, uno per le righe e uno per le colonne .. questi booleani ti indicheranno se la riga inserita dall'utente è già presente nel vettore e se la colonna inserita è già persente nel vettore...
Nella funzione, prima di valorizzare il t_Mossa non fai altro che controllare se le coordinate che hai ottenuto dall'inserimento dell'utente esistono nello stesso t_Mossa (che sarà già stato valorizzato dai precedenti cicli della funzione) .. te la cavi con 2 cicli for e un blocco "if" finale ..
inoltre, per la richiesta S/N di conferma, ti basta "incastonare" il tutto in un ciclo while a livello superiore che controlla se una variabile char (recuperata con getch()) sia uguale o meno ad 's'...
Spero di averti dato la dritta giusta se deciderai di seguirla e nel caso ti servisse, ho qui l'implementazione.
Bye