Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <cstdlib> // voor exit]
- #include <string>
- #include <sstream>
- using namespace std;
- int main ( )
- {
- ifstream invoer;
- ofstream uitvoer;
- char kar;
- invoer.open ("invoer.txt",ios::in);
- if ( ! invoer )
- {
- cout << "File niet geopend" << endl;
- exit (1);
- } // if
- char prevkar = -1;
- uitvoer.open ("uitvoer.txt",ios::out);
- kar = invoer.get ( );
- int k = 1;
- while ( ! invoer.eof ( ) )
- {
- if (kar == prevkar)
- {
- k++; // tellen aantal dezelfde karakters
- // kan niet groter dan 10 weergeven?
- }
- else
- {
- if (kar >= '0' && kar <= '9' && k == 1)
- {
- uitvoer << '\\' << kar;
- }// output = \cijfer bij k=1
- else if (kar >= '0' && kar <= '9' && k > 1)
- {
- stringstream stream;
- stream << k;
- string t_String = stream.str();
- reverse(t_String.begin(), t_String.end());
- uitvoer << k << '\\' << kar;
- k = 1;
- }// output = \cijferk bij k>1
- else if(k > 1)
- {
- uitvoer << k << kar;
- k = 1;
- }// voor de overige tekens
- else
- uitvoer << kar;
- // voor de overige tekens
- }
- prevkar = kar;
- kar = invoer.get ( );
- } // while
- invoer.close ( );
- uitvoer.close ( );
- ifstream invoer2;
- ofstream uitvoer2;
- invoer2.open ("uitvoer.txt",ios::in);
- if ( ! invoer2 )
- {
- cout << "File niet geopend" << endl;
- exit (1);
- } // if
- uitvoer2.open ("decoded.txt",ios::out);
- kar = invoer2.get ( );
- while ( ! invoer2.eof( ) )
- {
- if (kar >='0' && kar <='9')
- {
- if (prevkar == '\\')
- uitvoer2.put (kar);
- else
- uitvoer2.put (kar);
- }
- else
- uitvoer2.put (kar);
- prevkar = kar;
- kar = invoer2.get ( );
- }//decoderen
- uitvoer2.close ( );
- invoer2.close ( );
- return 0;
- } // main
Advertisement
Add Comment
Please, Sign In to add comment