Advertisement
Guest User

Untitled

a guest
Dec 15th, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>//для подключения system ("pause")
  3. #include <ctime>// для подключения времени с какогото переиода для рандомных чисел через rand();
  4. #include <string>
  5. #include <fstream>
  6.  
  7. using namespace std;
  8.  
  9. int f1();
  10. int f2();
  11.  
  12. int b = 0;
  13. int max = 0;
  14. int* pmax = &max;
  15. char a[255];
  16.  
  17. int main()
  18. {
  19. setlocale(LC_ALL, "ru");
  20. int q;//переменная выбора
  21. int daa = 0;
  22.  
  23. cout << "Введите 1 если хотите расшифровать" << endl;
  24. cin >> q;
  25.  
  26. if (q!=1){
  27. cout << "Вы ввели не один" << endl;
  28. return 1;
  29. }
  30.  
  31. switch (q) {
  32. case 1:
  33. {
  34. daa = f2();
  35. switch (daa) {
  36. case 0:
  37. {
  38. cout << "Все ок" << endl;
  39. cout << "Файл успешно расшифрован" << endl;
  40. }
  41. default:
  42. cout << "В программе произошла ошибка или не открылся файл или не закрылся" << endl;
  43. break;
  44. }
  45. break;
  46. }
  47. default:
  48. cout << "error" << " " << "Вы ввели не 1, пока, это обидка" << endl;
  49. return 1;
  50. }
  51. return 0;
  52. }
  53.  
  54. int f1()
  55. {
  56. setlocale(LC_ALL, "ru");
  57. char war;
  58. cout << "Введите адрес файла" << endl;
  59. //char a[255];
  60. cin >> a;
  61.  
  62. int arr[26];
  63. for (size_t i = 0; i < 26; i++)
  64. {
  65. arr[i] = 0;
  66. }
  67.  
  68. if (a!= "mfile.txt"){
  69. cout << "Неверно указан путь к файлу" << endl;
  70. return 1;
  71. }
  72.  
  73. //string path="mfile.txt";
  74. fstream fs;
  75. fs.open(a, fstream::in | fstream::out | fstream::app);
  76.  
  77. if (!fs.is_open()){
  78. cout << "Неудалось открыть файл" << endl;
  79. return 2;
  80. }
  81.  
  82. else {
  83. cout << "Файл успешно открыт" << endl;
  84. for (; war = fs.get() != EOF;)//считаю символы гыыы
  85. {
  86. if ((war > 'A') & (war < 'Z')) {
  87. arr[war - 'A']++;
  88. }
  89.  
  90.  
  91. if ((war > 'a') && (war < 'z')) {
  92. arr[war - 'a']++;
  93. }
  94. }
  95. }
  96. for (size_t i = 0; i < 26; i++)
  97. {
  98. if (arr[i] > max)
  99. {
  100. max = arr[i];
  101. *pmax = i;
  102. //*pmax = arr[i];
  103. //b = i;
  104. }
  105. }
  106. cout << *pmax << endl;
  107.  
  108. fs.close();
  109. if (fs.is_open()){
  110. cout << "error" << "файл не закрыт" << endl;
  111. return 1;
  112. }
  113.  
  114. return 0;
  115. }// функция для нахождения самой частовстречающейся буквы
  116.  
  117. int f2()
  118. {
  119. f1();
  120. char wor;
  121. char i=*pmax;
  122. char pop;
  123. setlocale(LC_ALL, "ru");
  124.  
  125. string path = "sec";
  126. fstream fs1;
  127. fs1.open(path, fstream::in | fstream::out | fstream::app);
  128.  
  129. if (!fs1.is_open())
  130. {
  131. cout << "Неудалось открыть файл" << endl;
  132. return 1;
  133. }
  134.  
  135. fstream fs2;
  136. fs2.open(a, fstream::in | fstream::out | fstream::app);
  137.  
  138. if (!fs2.is_open())
  139. {
  140. cout << "Неудалось открыть файл" << endl;
  141. return 2;
  142. }
  143.  
  144. for (; wor = fs2.get() != EOF;)//считаю символы гыыы
  145. {
  146.  
  147. if ((wor > 'A') & (wor < 'Z')) {
  148. pop = wor - *pmax;
  149. }
  150. if ((wor > 'a') & (wor < 'z')) {
  151. pop = wor - *pmax;
  152. }
  153. fs1 << pop;
  154. }
  155.  
  156.  
  157. fs1.close();
  158. if (fs1.is_open())
  159. {
  160. cout << "error" << "файл не закрыт" << endl;
  161. return 3;
  162. }
  163. fs2.close();
  164. if (fs2.is_open())
  165. {
  166. cout << "error" << "файл не закрыт" << endl;
  167. return 4;
  168. }
  169.  
  170.  
  171. return 0;
  172. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement