Advertisement
Guest User

Untitled

a guest
Mar 21st, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1.  
  2.  
  3.  
  4. //Послание в main))
  5.  
  6. #include <iostream>
  7. #include <stdio.h>
  8. #include <cctype>
  9.  
  10. using std::cout;
  11. using std::endl;
  12. using std::ostream;
  13.  
  14. class Alpha{
  15. private:
  16. unsigned bin;
  17. public:
  18. Alpha(){ bin = 0; }
  19. Alpha(char*);
  20. Alpha operator +(Alpha&);
  21. Alpha operator -(Alpha&);
  22. friend ostream& operator <<(ostream&, Alpha&);
  23. };
  24.  
  25. Alpha::Alpha(char *s){
  26. bin = 0;
  27. while(*s)
  28. {
  29. bin |= 1 << (tolower(*s) - 'a');
  30. s++;
  31. }
  32. }
  33.  
  34. Alpha Alpha::operator -(Alpha& y){
  35. Alpha z;
  36. z.bin = this->bin & (~y.bin);
  37. return(z);
  38. }
  39.  
  40. Alpha Alpha::operator +(Alpha& y){
  41. Alpha z;
  42. z.bin = this->bin | y.bin;
  43. return(z);
  44. }
  45.  
  46. ostream& operator <<(ostream& out, Alpha& obj){
  47. unsigned bit = 1;
  48. int i;
  49. for(i = 0; i < 26; i++){
  50. if((obj.bin & bit) > 0)
  51. out << (char)('a' + i);
  52. bit = bit << 1;
  53. }
  54. return(out);
  55. }
  56.  
  57. int main(int argc, char *argv[]){
  58. if(argc < 3)
  59. return(puts("Usage: ./lab4 <string1> <string2>"));
  60. Alpha x(argv[1]);
  61. Alpha y(argv[2]);
  62. Alpha answer, z, n;
  63. z = x - y;
  64. n = y - x;
  65. answer = z + n;
  66. //Формула answer = (x - y) + (y - x) не будет работать, да и чует мое сердце, что
  67. //Будут меняться значения x и y
  68. cout << answer << endl;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement