main.cpp 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #include <iostream>
  2. #include <fstream>
  3. #include <deque>
  4. #include <string>
  5. using namespace std;
  6. int main()
  7. {
  8. /*cout << "Associatons :" << endl;
  9. for (int i(0); i<256; i++)
  10. cout << i << " correspond à " << (unsigned char)i << endl;
  11. cout << "Dollar $ " << (int)'$' << endl;*/
  12. ifstream fluxRead("LightBeam2.txt");
  13. ofstream fluxWrite("LightBeam.txt");
  14. deque<string> maFile;
  15. string line;
  16. unsigned int w(0);
  17. while ( getline(fluxRead, line) )
  18. {
  19. maFile.push_back( line );
  20. if ( line.size() > w )
  21. {
  22. w = line.size();
  23. }
  24. }
  25. char c;
  26. for ( unsigned int i(0); i < maFile.size(); i ++ )
  27. {
  28. while ( maFile[i].size() < w )
  29. {
  30. maFile[i] += " ";
  31. }
  32. for ( unsigned int k(0); k < w / 2; k++ )
  33. {
  34. c = maFile[i][k];
  35. maFile[i][k] = maFile[i][w - k];
  36. maFile[i][w - k] = c;
  37. }
  38. for ( unsigned int k(0); k < w; k++ )
  39. {
  40. switch ( maFile[i][k] ){
  41. case '<':
  42. maFile[i][k] = '>';
  43. break;
  44. case '>':
  45. maFile[i][k] = '<';
  46. break;
  47. case ']':
  48. maFile[i][k] = '[';
  49. break;
  50. case '[':
  51. maFile[i][k] = ']';
  52. break;
  53. case ')':
  54. maFile[i][k] = '(';
  55. break;
  56. case '(':
  57. maFile[i][k] = ')';
  58. break;
  59. case '}':
  60. maFile[i][k] = '{';
  61. break;
  62. case '{':
  63. maFile[i][k] = '}';
  64. break;
  65. case '/':
  66. maFile[i][k] = '\\';
  67. break;
  68. case '\\':
  69. maFile[i][k] = '/';
  70. break;
  71. default :
  72. break;
  73. }
  74. }
  75. maFile[i] += '\n';
  76. // Nouveau fichier
  77. fluxWrite << maFile[i];
  78. }
  79. return 0;
  80. }