Ho problemi con la risoluzione di questo esercizio
premetto che bisogna usare solo array funzioni
l'importante è che non vengano usate strutture particolari, come il set lo stack e lo struct e così via
solo array e cicli
Scrivere una funzione C++ che, data una stringa s,
restituisce la stringa ottenuta rimuovendo da s tutti i caratteri che sono
immediatamente seguiti da due vocali.
Esempio1: s= “Priamo”. Il metodo restituisce la stringa “Piamo” (rimossa la r).
Esempio 2: s= “aiuola”. Il metodo restituisce “uola” (rimossi a ed i ).
Esempio 3: s= “pippo”. Il metodo restituisce “pippo” (nessun carattere rimosso)
eccone una mia versione
#include<iostream>
#include<string>
using namespace std;
string funzione(string, string);
int main()
{
string parola;
string parola1;
cout<<"Inserisci una parola"<<endl;
cin>>parola;
funzione(parola, parola1);
return 0;
}
string funzione(string s, string s1)
{
string vocali[5]={"a","e","i","o","u"};
int i,j;
bool condizione=false;
int lunghezza=s.length();
i=0;
while(i<lunghezza && !condizione)
{
j=0;
while(j<5 && !condizione)
{
if(s.substr(i,1)==vocali[j] && s.substr(i+1,1)==vocali[j])
condizione=true;
s1=s.substr(0,i-1)+s.substr(i+1,lunghezza-1);
j++;
}
i++;
}
cout<<s1;
return s1;
}