Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. using namespace std;
  5.  
  6. int v1[26], v2[26]; // initializam vectorii de aparitie cu 0,
  7.  
  8. int main()
  9. {
  10. /* v1 si v2 - vector de aparitie a fiecarui caracter.
  11. v1[0] - de cate ori a aparut 'a' in vectorul 1,
  12. v1[1] - de cate ori a aparut 'b' in vectorul 1,
  13. .
  14. .
  15. .
  16. v1[25] - de cate ori a aparut 'z' in vectorul 1,
  17.  
  18. la fel pt vectorul 2 cu v2[i]
  19.  
  20. stiind ca (int) 'a' - (int) 'a' = 0,
  21. (int) 'b' - (int) 'a' = 1,
  22. etc...
  23. */
  24.  
  25. int i, l;
  26. char s1[100], s2[100], litera_gasita;
  27. bool ok = true;
  28.  
  29. cin.get(s1, 100);
  30. cin.ignore(); // ignoram caracterul '\0' citit dupa primul cin.get
  31. cin.get(s2, 100);
  32.  
  33. // numaram de cate ori apare fiecare litera a alfabetului in... **
  34.  
  35. l = strlen(s1);
  36.  
  37. for (i = 0; i < l; i++) // ** ... s1 ... ##
  38. {
  39. litera_gasita = (int) s1[i];
  40. if (litera_gasita >= (int) 'a' && litera_gasita <= (int) 'z') // daca este litera mica a alfabetului (nu este spatiu, punct, virgula...)
  41. v1[(int)s1[i] - (int) 'a']++;
  42. }
  43.  
  44. l = strlen(s2);
  45.  
  46. for (i = 0; i < l; i++) // ## ... si in s2.
  47. {
  48. litera_gasita = (int) s2[i];
  49. if (litera_gasita >= (int) 'a' && litera_gasita <= (int) 'z')
  50. v2[(int)s2[i] - (int) 'a']++;
  51. }
  52.  
  53. for (i = 0; i < 26; i++) // avem aceleasi litere in vectorul 1 cat si in vectorul 2?
  54. if (v1[i] != v2[i])
  55. ok = false;
  56.  
  57. if (ok)
  58. cout << "da";
  59. else
  60. cout << "nu";
  61.  
  62. return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement