Advertisement
Guest User

Untitled

a guest
Dec 18th, 2014
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. #include <iostream.h>
  2. #define SIZE 255
  3. #include <string.h>
  4. #include <stdlib.h>
  5. #include <stdio.h>
  6. #include <istream.h>
  7. #include <fstream.h>
  8. class X{
  9. char *str;
  10. char *str_return;
  11. public:
  12. X();
  13. X(char*);
  14. ~X();
  15. char* Run();
  16. void Set(char*);
  17. friend void print(X&);
  18. friend ostream& operator<<(ostream&,X&);
  19. friend istream& operator>>(istream&,X&);
  20. friend char* Run(X&);
  21. };
  22.  
  23.  
  24. X::X(){
  25. str=new char[SIZE];
  26. str[0]='\0';
  27. str_return=new char[SIZE];
  28. str_return[0]='\0';
  29. };
  30.  
  31. X::X(char *s){
  32. str=new char[SIZE];
  33. strcpy(str,s);
  34. str_return=new char[SIZE];
  35. str_return[0]='\0';
  36. };
  37.  
  38.  
  39. X::~X(){
  40. delete[] str;
  41. }
  42.  
  43.  
  44. void X::Set(char* s){
  45. for (unsigned int i=0;i<strlen(s);i++){
  46. str[i]=s[i];
  47. str[i]='\0';}
  48.  
  49. };
  50.  
  51. char* X::Run(){
  52. int j = strlen(str)/2;
  53. char d, p;
  54. if (strlen(str)%4 == 0) {
  55. for (unsigned int i=0;i<strlen(str);i++)
  56. {
  57. if (i < j) {
  58. d = str[i];
  59. p = str[i+j];
  60.  
  61. str[i] = p;
  62. str[i+j] = d;
  63. }
  64. } print(str);
  65.  
  66. }else{
  67. cout<<"stroka ne kratna 4"<<endl;
  68. }
  69.  
  70. return str_return;
  71. };
  72.  
  73.  
  74. char* Run(X &obj){return obj.Run();};
  75. void print(X &obj){cout<<obj.str<<" "<<obj.str_return<<endl;};
  76. ostream& operator<<(ostream &stream,X &ob) {
  77. stream << ob.str ;
  78. return stream;
  79. };
  80.  
  81. istream &operator>>(istream &stream,X &ob){
  82. stream >> ob.str;
  83. return stream;
  84. };
  85.  
  86.  
  87. void main (void){
  88. char s[265];
  89. ofstream out("C:\\Cpp\\mf.txt");
  90. cout<<"Vvedite stroku: ";
  91. cin.getline(s,256);
  92. X str(s);
  93. cout<<"Vi vveli: ";
  94. print(str);
  95. out<<str<<"\n";
  96. cout<<"Stroka posle preobrazovaniya: ";
  97. Run(str);
  98. out<<str<<"\n";
  99. cout<<endl;
  100. out.close();
  101. cout<<"Vvedite stroku: ";
  102. cin.getline(s,256);
  103. X *pstr;
  104. pstr=new X();
  105. pstr->Set(s);
  106. cout<<"Vi vveli: ";
  107. print(s);
  108. cout<<"Stroka posle preobrazovaniya: ";
  109. cout<<Run(s)<<endl;
  110. delete pstr;
  111. system("pause");
  112. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement