Advertisement
Guest User

Untitled

a guest
Feb 26th, 2020
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.43 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <windows.h>
  4. #include <stdio.h>
  5. #include <cstdio>
  6.  
  7. using namespace std;
  8.  
  9. void v13_1();
  10. void v13_2();
  11. void v8_1();
  12. void v8_2();
  13. void v9_1();
  14. void v9_2();
  15. void outFile(ofstream& f, char* buffer, char* str);
  16. void inFile(ifstream& f, char* buffer, char* str);
  17.  
  18. void main()
  19. {
  20. SetConsoleCP(1251);
  21. SetConsoleOutputCP(1251);
  22. int choice;
  23. cout << "Введите номер задания: " << endl;
  24. cin >> choice;
  25. switch (choice)
  26. {
  27. case 1:
  28. {
  29. v13_1();
  30. break;
  31. }
  32. case 2:
  33. {
  34. v13_2();
  35. break;
  36. }
  37. case 3:
  38. {
  39. v8_1();
  40. break;
  41. }
  42. case 4:
  43. {
  44. v8_2();
  45. break;
  46. }
  47. case 5:
  48. {
  49. v9_1();
  50. break;
  51. }
  52. case 6:
  53. {
  54. v9_2();
  55. break;
  56. }
  57. }
  58. }
  59.  
  60. void v13_1()
  61. {
  62. char buffer[50];
  63. int minVowel = 0, numberOfSent = 0, countVowel = 0, necessSent = 0;
  64. ifstream fin("D:\\BSTU stuff\\2 семестр 1 курс\\BAP_2\\Files\\l2v13_1.txt");
  65. ofstream fout("D:\\BSTU stuff\\2 семестр 1 курс\\BAP_2\\Files\\final.txt");
  66. if (!fin.is_open())
  67. cout << "Файл не может быть открыт!\n";
  68. else
  69. {
  70. while (!fin.eof())
  71. {
  72. fin.getline(buffer, 50);
  73. int sizeOfStr = strlen(buffer);
  74. bool isSpace = false;
  75. bool strCopied = false;
  76. for (int i = 0; i < sizeOfStr; i++)
  77. {
  78. if (buffer[i] == ' ' && isSpace)
  79. {
  80. fout << buffer;
  81. fout << endl;
  82. strCopied = !strCopied;
  83. break;
  84. }
  85.  
  86. if (buffer[i] == ' ' && !isSpace)
  87. {
  88. isSpace = !isSpace;
  89. }
  90. }
  91. if (strCopied)
  92. {
  93. for (int k = 0; k < sizeOfStr + 1; k++)
  94. {
  95. if (buffer[k] == 'A' || buffer[k] == 'a' || buffer[k] == 'E' || buffer[k] == 'e' || buffer[k] == 'I' || buffer[k] == 'i' || buffer[k] == 'O' || buffer[k] == 'o' || buffer[k] == 'U' || buffer[k] == 'u' || buffer[k] == 'Y' || buffer[k] == 'y')
  96. {
  97. countVowel++;
  98. }
  99. if (buffer[k] == ' ' || buffer[k] == '\0')
  100. {
  101. numberOfSent++;
  102. if (countVowel > minVowel)
  103. {
  104. minVowel = countVowel;
  105. necessSent = numberOfSent;
  106. }
  107. countVowel = 0;
  108. }
  109. }
  110. }
  111. }
  112. }
  113. cout << "Большее количество гласных (" << minVowel << ") в (во) " << necessSent << " слове." << endl;
  114. if (fin.eof())
  115. {
  116. cout << "~~Достигнут конец файла~~" << endl;
  117. }
  118. fin.close();
  119. fout.close();
  120. }
  121.  
  122. void v13_2()
  123. {
  124. char buffer[50];
  125. char str[200];
  126. int i = 0;
  127. int roundBrackets = 0, fiqureBrakets = 0, squareBrakets = 0, angledBrackets = 0;
  128. ifstream fin;
  129. ofstream fout;
  130. cout << "Введите путь к файлу для записи: " << endl;
  131. cin >> str;
  132. cout << "Введите строку для записи: " << endl;
  133. cin >> buffer;
  134. outFile(fout, buffer, str);
  135. inFile(fin, buffer, str);
  136. while (buffer[i] != EOF)
  137. {
  138. if (buffer[i] == '(' || buffer[i] == ')')
  139. {
  140. roundBrackets++;
  141. }
  142. if (buffer[i] == '[' || buffer[i] == ']')
  143. {
  144. squareBrakets++;
  145. }
  146. if (buffer[i] == '{' || buffer[i] == '}')
  147. {
  148. fiqureBrakets++;
  149. }
  150. if (buffer[i] == '<' || buffer[i] == '>')
  151. {
  152. angledBrackets++;
  153. }
  154. i++;
  155. }
  156. cout << "Круглых скобок: " << roundBrackets << endl;
  157. cout << "Квадратных скобок: " << squareBrakets << endl;
  158. cout << "Фигурных скобок: " << fiqureBrakets << endl;
  159. cout << "Угловых скобок: " << angledBrackets << endl;
  160. }
  161.  
  162. void v8_1() {
  163. char buffer[50];
  164. int maxVowel = 0, numberOfStr = 0, countVowel = 0, necessSent = 0;
  165. ifstream fin("D:\\BSTU stuff\\2 семестр 1 курс\\BAP_2\\Files\\l2v8_1.txt");
  166. ofstream fout("D:\\BSTU stuff\\2 семестр 1 курс\\BAP_2\\Files\\final.txt");
  167. if (!fin.is_open())
  168. cout << "Файл не может быть открыт!\n";
  169. else
  170. {
  171. while (!fin.eof())
  172. {
  173. fin.getline(buffer, 50);
  174. int sizeOfStr = strlen(buffer);
  175. for (int k = 0; k < sizeOfStr + 1; k++)
  176. {
  177. if (buffer[k] == 'A' || buffer[k] == 'a' || buffer[k] == 'E' || buffer[k] == 'e' || buffer[k] == 'I' || buffer[k] == 'i' || buffer[k] == 'O' || buffer[k] == 'o' || buffer[k] == 'U' || buffer[k] == 'u' || buffer[k] == 'Y' || buffer[k] == 'y')
  178. {
  179. countVowel++;
  180. }
  181. if (buffer[k] == '\0')
  182. {
  183. numberOfStr++;
  184. if (countVowel > maxVowel)
  185. {
  186. maxVowel = countVowel;
  187. necessSent = numberOfStr;
  188. }
  189. countVowel = 0;
  190. }
  191. }
  192. }
  193. fin.seekg(0);
  194. int countStr = 1;
  195. while (!fin.eof())
  196. {
  197. fin.getline(buffer, 50);
  198. int sizeOfStr = strlen(buffer);
  199. for (int k = 0; k < sizeOfStr + 1; k++)
  200. {
  201. if (buffer[k] == '\0')
  202. {
  203. if (countStr != necessSent)
  204. {
  205. fout << buffer << endl;
  206. }
  207. countStr++;
  208. }
  209.  
  210. }
  211. }
  212. }
  213. if (fin.eof())
  214. {
  215. cout << "~~Достигнут конец файла~~" << endl;
  216. }
  217. fin.close();
  218. fout.close();
  219. }
  220.  
  221. void v8_2()
  222. {
  223. char number[15];
  224. char buffer[50];
  225. char str[20];
  226. ifstream fin;
  227. ofstream fout;
  228. cout << "Введите путь к файлу для записи: " << endl;
  229. cin >> str;
  230. cout << "Введите строку для записи: " << endl;
  231. cin >> buffer;
  232. outFile(fout, buffer, str);
  233. inFile(fin, buffer, str);
  234. bool isDot = false;
  235. int k = 0;
  236. int sizeOfStr = strlen(buffer);
  237. for (int i = 0; i < sizeOfStr; i++)
  238. {
  239. if (buffer[i] == '0' || buffer[i] == '1' || buffer[i] == '2' || buffer[i] == '3' || buffer[i] == '4' || buffer[i] == '5' || buffer[i] == '6' || buffer[i] == '7' || buffer[i] == '8' || buffer[i] == '9')
  240. {
  241. number[k] = buffer[i];
  242. k++;
  243. }
  244. if (buffer[i] == '.' && !isDot)
  245. {
  246. number[k] = buffer[i];
  247. k++;
  248. isDot = !isDot;
  249. }
  250. }
  251. fout.flush();
  252. outFile(fout, number, str);
  253. fin.close();
  254. fout.close();
  255. }
  256.  
  257. void v9_1()
  258. {
  259. char buffer[50];
  260. int firstStr = 0, lastStr = 0, strCount = 1, wordCount = 0;
  261. ifstream fin("D:\\BSTU stuff\\2 семестр 1 курс\\BAP_2\\Files\\l2_v9_1.txt");
  262. ofstream fout("D:\\BSTU stuff\\2 семестр 1 курс\\BAP_2\\Files\\final.txt");
  263. cout << "Введите номера строк, между которыми будет считываться файл" << endl;
  264. cout << "1)"; cin >> firstStr;
  265. cout << "2)"; cin >> lastStr;
  266. if (firstStr > lastStr)
  267. {
  268. cout << "Некорректный ввод данных" << endl;
  269. exit(0);
  270. }
  271. if (!fin.is_open())
  272. {
  273. cout << "Файл не может быть открыт!\n";
  274. }
  275. else
  276. {
  277. while (!fin.eof())
  278. {
  279. fin.getline(buffer, 50);
  280. int sizeOfStr = strlen(buffer);
  281. if (strCount >= firstStr && strCount <= lastStr)
  282. {
  283.  
  284. if (buffer[0] == 'C' || buffer[0] == 'c')
  285. {
  286. fout << buffer << " ";
  287. }
  288. }
  289. strCount++;
  290. }
  291. }
  292. fin.close();
  293. fout.close();
  294. fin.open("D:\\BSTU stuff\\2 семестр 1 курс\\BAP_2\\Files\\final.txt");
  295. if (!fin.is_open())
  296. cout << "Файл не может быть открыт!\n";
  297. else
  298. {
  299. while (!fin.eof())
  300. {
  301. fin.getline(buffer, 50);
  302. int sizeOfStr = strlen(buffer);
  303. for (int i = 0; i < sizeOfStr; i++)
  304. {
  305. if (buffer[i] == ' ' || buffer[i] == '\0')
  306. {
  307. wordCount++;
  308. }
  309. }
  310. }
  311. }
  312. cout << "В первой строке выходного файла " << wordCount << " слов(а)" << endl;
  313. fin.close();
  314. fout.close();
  315. }
  316.  
  317. void v9_2()
  318. {
  319. char buffer[50];
  320. char str[20];
  321. int wordSize = 0, wordNumber = 0, minSize, necessWord = 0;
  322. ifstream fin;
  323. ofstream fout;
  324. cout << "Введите путь к файлу для записи: " << endl;
  325. cin >> str;
  326. cout << "Введите строку для записи: " << endl; getchar();
  327. gets_s(buffer);
  328. int sizeOfStr = strlen(buffer);
  329. minSize = sizeOfStr;
  330. for (int i = 0; i < sizeOfStr; i++)
  331. {
  332. if (buffer[i] == ' ' || buffer[i] == '\0')
  333. {
  334. wordNumber++;
  335. if (wordSize < minSize)
  336. {
  337. minSize = wordSize;
  338. necessWord = wordNumber;
  339. }
  340. wordSize = 0;
  341. }
  342. wordSize++;
  343. }
  344. cout << "Минимальное слово в введенной строке " << necessWord << " с размером в " << minSize << " символов" << endl;
  345. fin.close();
  346. fout.close();
  347. }
  348.  
  349.  
  350.  
  351. void outFile(ofstream& f, char* buff, char* str)
  352. {
  353. f.open(str);
  354. if (f.fail())
  355. {
  356. cout << "Ошибка открытия файла" << endl;
  357. }
  358. f << buff;
  359. f.close();
  360. }
  361.  
  362. void inFile(ifstream& f, char* buff, char* str)
  363. {
  364. f.open(str);
  365. if (f.fail())
  366. {
  367. cout << "Ошибка открытия файл" << endl;
  368. }
  369. f >> buff;
  370. f.close();
  371. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement