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; }

Rispondi quotando