Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- int v1[26], v2[26]; // initializam vectorii de aparitie cu 0,
- int main()
- {
- /* v1 si v2 - vector de aparitie a fiecarui caracter.
- v1[0] - de cate ori a aparut 'a' in vectorul 1,
- v1[1] - de cate ori a aparut 'b' in vectorul 1,
- .
- .
- .
- v1[25] - de cate ori a aparut 'z' in vectorul 1,
- la fel pt vectorul 2 cu v2[i]
- stiind ca (int) 'a' - (int) 'a' = 0,
- (int) 'b' - (int) 'a' = 1,
- etc...
- */
- int i, l;
- char s1[100], s2[100], litera_gasita;
- bool ok = true;
- cin.get(s1, 100);
- cin.ignore(); // ignoram caracterul '\0' citit dupa primul cin.get
- cin.get(s2, 100);
- // numaram de cate ori apare fiecare litera a alfabetului in... **
- l = strlen(s1);
- for (i = 0; i < l; i++) // ** ... s1 ... ##
- {
- litera_gasita = (int) s1[i];
- if (litera_gasita >= (int) 'a' && litera_gasita <= (int) 'z') // daca este litera mica a alfabetului (nu este spatiu, punct, virgula...)
- v1[(int)s1[i] - (int) 'a']++;
- }
- l = strlen(s2);
- for (i = 0; i < l; i++) // ## ... si in s2.
- {
- litera_gasita = (int) s2[i];
- if (litera_gasita >= (int) 'a' && litera_gasita <= (int) 'z')
- v2[(int)s2[i] - (int) 'a']++;
- }
- for (i = 0; i < 26; i++) // avem aceleasi litere in vectorul 1 cat si in vectorul 2?
- if (v1[i] != v2[i])
- ok = false;
- if (ok)
- cout << "da";
- else
- cout << "nu";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement