"mi si ferma a": che cosa vuole dire? NULLA. Devi imparare per prima cosa a usare il compilatore, senza di quello non vai da nessuna parte. E come cercare di guidare un'auto con il serbatoio vuoto e non c'e' nessun forum che ti faccia il pieno di benzina.... MI si ferma a "string ConcAltStringhe( string a, string b)"
...
Il compilatore "si ferma" perche' ha trovato un errore, e TI DICE che errore sia. Impara a leggere e capire l'errore e ti accorgerai che hai dimenticato una linea nel tuo nuovo codice, istruzione che ERA PRESENTE nelle versioni che hai postato prima.
Nessuno e' riuscito a fare l'esercizio perche' non sapete pensare. Una volta che avete imparato cosa siano i vettori (perche' una stringa non e' niente altro che un vettore) dovete imparare a USARLI, e quello lo imparate solo facendo esercizi (come appunto questo). PENSARE signifca guardare una linea di codice e CAPIRE cosa faccia, che risultato dia. Una volta che avete capito quello, tutto il resto e' facile, almeno per questo tipo di esercizi che si fanno in un minuto.