You are on page 1of 1

O clasa TextContainer care are un camp pentru un text (char*), 2 constructori (u

nul fara text si unul cu un text initial primit parametru)


si stie sa faca urmatoarele treburi:
0. printare text (1.0p) (punct moca)
1. stergerea intregului text. (1.0p) (punct moca)
2. adaugare caracter la starsit. (0.5p)
3. adaugare caracter la o pozitie data. (1.0p)
4. adaugare sir de caractere la sfarsit. (0.5p)
5. adaugare sir de caractrere la o pozitie data. (1.0p)
6. stergere caracter de la pozitia x. (0.5p)
7. stergerea a n caractere de la pozitia x incolo. (0.5p)
8. suprascrierea textului curent cu un alt text primit ca parametru. (0.5p)
9. eliminarea tuturor caracterelor 'c' din text. (0.5p)
10. inlocuirea tuturor caracterelor 'c1' cu 'c2'. (0.5p)
11. stergerea subsirurilor "subsir" din text. (0.5p)
12. inlocuirea tuturor subsirurilor "subsir1" cu "subsir2". subsir1 si 2 au acee
asi lungime (0.5p)
13. inlocuirea tuturor subsirurilor "subsir1" cu "subsir2". subsir1 si 2 au lung
imi diferite (1.5p)
SUCCES!
addCharAtPos(int p, char c)
{
int len = strlen(text);
char* newt = new char(len + 1);
strcpy(newt, text);
for(int i = len ; i > p ; i--)
{
newt[i] = newt[i-1];
}
newt[p] = c;
delete(text);
text = newt;
}
void del(int x) {
char *newText = new char[strlen(this->text) + 1];
int len = strlen(this->text);
strcpy(newText, this->text);
for (int i = 0; i < len; i++){
if (i == x) {
newText[i] = '\0';
for (int j = len; j >=i; j--)
newText[j-1] = newText[j ];
}
delete[] this->text;
strcpy(this->text, newText);
}

You might also like