Ciao a tutti ho un problema con la programmazione in C++ in quanto ho necessità di inserire, in una stringa di caratteri, due spazi vuoti ogni volta che appare un determinato simbolo. Ho già fatto il programma con il ciclo FOR e poi inserendoci un IF, copiando gli elementi della stringa in un'altra stringa, ma a me serve farlo attraverso una funzione INSERISCI che utilizzi sempre la stessa stringa. Mi serve, cioè, qualcosa del genere:

Inserisci i caratteri:
ab-c

N = 4
Input = ab-c

N = 6
Output = ab- c

Il problema riguardante il calcolo della stringa l'ho risolto, ma non riesco a risolvere il problema dell'inserimento di caratteri nella stringa, perché non è come un inserimento in una data posizione, ma è dato da una particolare condizione.. Il vecchio programma che ho scritto è
codice:
#include <iostream>
#include <iomanip>
#include <cstring>

using namespace std;

int main ()
{
     char frase1 [100];
     char frase2 [300];
     int lungh_frase1;
     int lungh_frase2;
     int i;
     int j;

     cout << "inserisci i caratteri senza lasciare spazi (simbolo - per lo spazio):\n";
     cin >> frase1;

     lungh_frase1 = strlen (frase1);
     cout << "N = " << lungh_frase1 << "\n";
     cout << "Input = " << frase1 << "\n";
     for (i=0; j=0; i < lungh_frase1; i++) {
          frase2[j] = frase1[i];
          j++;
          if (frase1[i] == '-') {
              frase2[j] = ' ';
              j++;
              frase2[j] = ' ';
              j++;                }
                          }
     frase2[j] = '\0';
     lungh_frase2 = strlen (frase2);
     cout << "N = " << lungh_frase2 << "\n";
     cout << "Output = " << frase2 << "\n";
     cout endl;
     return 0;
}