ccc

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

description

asdaff ad a xvewa efsd csd fe fcscs

Transcript of ccc

O clasa TextContainer care are un camp pentru un text (char*), 2 constructori (unul 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 aceeasi lungime (0.5p)13. inlocuirea tuturor subsirurilor "subsir1" cu "subsir2". subsir1 si 2 au lungimi 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);

}