Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream.h>
- #define SIZE 255
- #include <string.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <istream.h>
- #include <fstream.h>
- class X{
- char *str;
- char *str_return;
- public:
- X();
- X(char*);
- ~X();
- char* Run();
- void Set(char*);
- friend void print(X&);
- friend ostream& operator<<(ostream&,X&);
- friend istream& operator>>(istream&,X&);
- friend char* Run(X&);
- };
- X::X(){
- str=new char[SIZE];
- str[0]='\0';
- str_return=new char[SIZE];
- str_return[0]='\0';
- };
- X::X(char *s){
- str=new char[SIZE];
- strcpy(str,s);
- str_return=new char[SIZE];
- str_return[0]='\0';
- };
- X::~X(){
- delete[] str;
- }
- void X::Set(char* s){
- for (unsigned int i=0;i<strlen(s);i++){
- str[i]=s[i];
- str[i]='\0';}
- };
- char* X::Run(){
- int j = strlen(str)/2;
- char d, p;
- if (strlen(str)%4 == 0) {
- for (unsigned int i=0;i<strlen(str);i++)
- {
- if (i < j) {
- d = str[i];
- p = str[i+j];
- str[i] = p;
- str[i+j] = d;
- }
- } print(str);
- }else{
- cout<<"stroka ne kratna 4"<<endl;
- }
- return str_return;
- };
- char* Run(X &obj){return obj.Run();};
- void print(X &obj){cout<<obj.str<<" "<<obj.str_return<<endl;};
- ostream& operator<<(ostream &stream,X &ob) {
- stream << ob.str ;
- return stream;
- };
- istream &operator>>(istream &stream,X &ob){
- stream >> ob.str;
- return stream;
- };
- void main (void){
- char s[265];
- ofstream out("C:\\Cpp\\mf.txt");
- cout<<"Vvedite stroku: ";
- cin.getline(s,256);
- X str(s);
- cout<<"Vi vveli: ";
- print(str);
- out<<str<<"\n";
- cout<<"Stroka posle preobrazovaniya: ";
- Run(str);
- out<<str<<"\n";
- cout<<endl;
- out.close();
- cout<<"Vvedite stroku: ";
- cin.getline(s,256);
- X *pstr;
- pstr=new X();
- pstr->Set(s);
- cout<<"Vi vveli: ";
- print(s);
- cout<<"Stroka posle preobrazovaniya: ";
- cout<<Run(s)<<endl;
- delete pstr;
- system("pause");
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement