Mam prosty program do napisania, ma wczytac tekst od uzytkownika a nastepnie usunac z niego litere 'a'.
Program się kompiluje i w sumie działa, ale tylko dla jednego wyrazu. Np.
I: 'Ala ma kota'
O: 'l ma kota'
Dla 'ma' i 'kota' juz nie dziala... Pewnie coś w tej pętli popsułem, macie pomysły jak to naprawić?
#include <iostream>
#include <string>
using namespace std;
void usunL(string &tekst, char c)
{
size_t pozycjaL = tekst.find(c);
if(pozycjaL == string::npos)
cout << "Nie ma w ogole takiej litery w tekscie!" << endl;
else
do{
tekst.erase(pozycjaL, pozycjaL); // usuwanie literki
pozycjaL = tekst.find(c, pozycjaL + 1); // przesuwam miejsce od ktorego zaczyna szukac petla literki
}while(pozycjaL == string::npos)
cout << tekst;
}
int main()
{
string tekst;
char c = 'a';
getline(cin, tekst);
usunL(tekst, c);
return 0;
}