Holland

Untitled

Oct 11th, 2012
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.01 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cstdlib> // voor exit]
  4. #include <string>
  5. #include <sstream>
  6.  
  7.  
  8. using namespace std;
  9. int main ( )
  10. {
  11.         ifstream invoer;
  12.         ofstream uitvoer;
  13.         char kar;
  14.         invoer.open ("invoer.txt",ios::in);
  15.         if ( ! invoer )
  16.         {
  17.                 cout << "File niet geopend" << endl;
  18.                 exit (1);
  19.         } // if
  20.        
  21.     char prevkar = -1;
  22.         uitvoer.open ("uitvoer.txt",ios::out);
  23.         kar = invoer.get ( );
  24.         int k = 1;
  25.     while ( ! invoer.eof ( ) )
  26.         {
  27.        
  28.         if (kar == prevkar)
  29.         {
  30.             k++; // tellen aantal dezelfde karakters
  31.             // kan niet groter dan 10 weergeven?
  32.         }  
  33.         else
  34.         {                          
  35.             if (kar >= '0' && kar <= '9' && k == 1)
  36.             {
  37.                 uitvoer << '\\' << kar;                
  38.             }// output = \cijfer bij k=1
  39.             else if (kar >= '0' && kar <= '9' && k > 1)
  40.             {              
  41.                 stringstream stream;
  42.                 stream << k;
  43.                 string t_String = stream.str();
  44.                 reverse(t_String.begin(), t_String.end());
  45.                 uitvoer << k << '\\' << kar;
  46.                 k = 1;
  47.             }// output = \cijferk bij k>1                          
  48.             else if(k > 1)
  49.             {
  50.                 uitvoer << k << kar;               
  51.                 k = 1;
  52.             }// voor de overige tekens         
  53.             else           
  54.                 uitvoer << kar;            
  55.             // voor de overige tekens          
  56.         }  
  57.         prevkar = kar;
  58.         kar = invoer.get ( );
  59.         } // while 
  60.    
  61.  
  62.     invoer.close ( );
  63.         uitvoer.close ( );
  64.    
  65.     ifstream invoer2;
  66.         ofstream uitvoer2;
  67.    
  68.     invoer2.open ("uitvoer.txt",ios::in);
  69.     if ( ! invoer2 )
  70.         {
  71.                 cout << "File niet geopend" << endl;
  72.                 exit (1);
  73.         } // if
  74.     uitvoer2.open ("decoded.txt",ios::out);
  75.         kar = invoer2.get ( );
  76.     while ( ! invoer2.eof( ) )
  77.     {
  78.         if (kar >='0' && kar <='9')
  79.         {
  80.             if (prevkar == '\\')
  81.                 uitvoer2.put (kar);
  82.            
  83.            
  84.             else
  85.                 uitvoer2.put (kar);
  86.            
  87.         }
  88.         else   
  89.             uitvoer2.put (kar);
  90.        
  91.         prevkar = kar;
  92.         kar = invoer2.get ( );
  93.     }//decoderen
  94.    
  95.     uitvoer2.close ( );
  96.     invoer2.close ( );
  97.  
  98.         return 0;
  99. } // main
Advertisement
Add Comment
Please, Sign In to add comment