Advertisement
Guest User

Untitled

a guest
Nov 18th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.58 KB | None | 0 0
  1. // hw7.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
  2. //
  3.  
  4. #include "pch.h"
  5. #include <iostream>
  6. #include <string>
  7. #include <vector>
  8. #include <sstream>
  9. #include <cstdlib>
  10. #include <fstream>
  11. #include <time.h>
  12. #include <clocale>
  13. #include <algorithm>
  14.  
  15. using namespace std;
  16.  
  17. class places {
  18. public:
  19. string city;
  20. double num1;
  21. double num2;
  22. places() {};
  23. places(string city_, int num1_, int num2_) : city(city_), num1(num1_), num2(num2_) {};
  24. };
  25. //поменять рекурсию на алгоритм гаууса
  26. void v_basic() {
  27. std::ofstream myfile;
  28. myfile.open("example.csv");
  29. myfile << "a;b;c;\n";
  30. myfile << "c;s;v;\n";
  31. myfile << "\n";
  32. myfile << "semi;colon";
  33. myfile << "semi;colon";
  34. myfile.close();
  35. }
  36.  
  37. void v_stack() { //ввести проверку на \n в другой строке
  38. std::ofstream myfile;
  39. myfile.open("example.csv", std::ios_base::app);
  40. myfile << "\n";
  41. myfile.close();
  42. }
  43.  
  44. void h_stack() { //добавить проверку, что прошлый столбец был закончен
  45. std::ofstream myfile;
  46. myfile.open("example.csv", std::ios_base::app);
  47. myfile << ";";
  48. myfile.close();
  49. }
  50.  
  51. void show_row(int ID) {
  52. std::ifstream myfile;
  53. myfile.open("example.csv");
  54. int i = 0; //отсчет колонок идёт не с нуля
  55. string buffer;
  56. while (i < ID) {
  57. getline(myfile, buffer);
  58. i++;
  59. }
  60. myfile.close();
  61. std::ofstream myoutfile;
  62. myoutfile.open("output.csv");
  63. if (buffer == ";")
  64. myoutfile << "\n";
  65. else
  66. myoutfile << buffer;
  67. myoutfile.close();
  68. }
  69.  
  70. void show_col(int ID) {
  71. std::ifstream myfile;
  72. std::ofstream myoutfile;
  73. myoutfile.open("output.csv");
  74. myfile.open("example.csv");
  75. int i = 0;
  76. string buffer;
  77. string buffer_1;
  78. while (myfile) {
  79. getline(myfile, buffer);
  80. istringstream iss(buffer);
  81. while (i != ID) {
  82. getline(iss, buffer_1, ';');
  83. i++;
  84. }
  85. if (buffer == ";")
  86. myoutfile << "\n";
  87. else {
  88. myoutfile << buffer_1;
  89. myoutfile << "\n";
  90. }
  91. i = 0;
  92. }
  93. myfile.close();
  94. myoutfile.close();
  95. }
  96.  
  97. void id_find(int ID_ROW, int ID_COL) {
  98. std::ifstream myfile;
  99. myfile.open("example.csv");
  100. int i = 0; //отсчет колонок идёт не с нуля
  101. string buffer;
  102. string buffer_1;
  103. while (i < ID_ROW) {
  104. getline(myfile, buffer);
  105. i++;
  106. }
  107. i = 0;
  108. std::ofstream myoutfile;
  109. myoutfile.open("output.csv");
  110. istringstream iss(buffer);
  111. while (i != ID_COL) {
  112. getline(iss, buffer_1, ';');
  113. i++;
  114. }
  115. if (buffer == ";")
  116. myoutfile << "\n";
  117. else {
  118. myoutfile << buffer_1;
  119. myoutfile << "\n";
  120. }
  121. myfile.close();
  122. myoutfile.close();
  123. }
  124.  
  125. void task1() {
  126. id_find(1, 2);
  127. }
  128.  
  129. void task2() {
  130. vector<string> v1;
  131. vector<string> v2;
  132. ifstream myfile1;
  133. ifstream myfile2;
  134. string buffer;
  135. myfile1.open("example.csv");
  136. while (myfile1) {
  137. getline(myfile1, buffer);
  138. v1.push_back(buffer);
  139. }
  140. myfile1.close();
  141. myfile2.open("example2.csv");
  142. while (myfile2) {
  143. getline(myfile2, buffer);
  144. v2.push_back(buffer);
  145. }
  146. int enter = 0;
  147. myfile2.close();
  148. ofstream myfile3;
  149. int break_point = 0;
  150. myfile3.open("example.csv", std::ios_base::app);
  151. myfile3 << "\n";
  152. int j = 0;
  153. int s = v2.size();
  154. for (j = 0; j < s - 1; j++) {
  155. for (int k = 0; k < v1.size() - 1; k++)
  156. if (v2[j] == v1[k]) {
  157. break_point++;
  158. break;
  159. }
  160. if (break_point == 0) {
  161. myfile3 << v2[j];
  162. myfile3 << "\n";
  163. }
  164. break_point = 0;
  165. }
  166. myfile3.close();
  167. }
  168.  
  169. double count(int ID) {
  170. ifstream myfile;
  171. myfile.open("example3.csv");
  172. string buffer;
  173. string buffer_1;
  174.  
  175. int i = 0;
  176. double sum = 0;
  177. while (myfile) {
  178. getline(myfile, buffer);
  179. istringstream iss(buffer);
  180. while (i != ID) {
  181. getline(iss, buffer_1, ';');
  182. i++;
  183. }
  184. const char * c = buffer_1.c_str();
  185. sum += atof(c);
  186. i = 0;
  187. }
  188. myfile.close();
  189. return sum;
  190. }
  191.  
  192. void task3(int n) {
  193. ofstream myfile;
  194. myfile.open("example3.csv");
  195. srand(time(0));
  196. double numb;
  197. double numb1;
  198. double numb2;
  199. for (int row = 0; row < n; row++) {
  200. for (int col = 0; col < n; col++) {
  201. numb = (rand() % 1000);
  202. numb1 = (1 + rand() % 1000);
  203. numb2 = numb / numb1;
  204. myfile << numb2;
  205. myfile << ";";
  206. }
  207. myfile << "\n";
  208. }
  209. myfile.close();
  210. cout << count(2);
  211. }
  212.  
  213. template <typename T>
  214. void ShowString(T string) {
  215. std::cout << string;
  216. }
  217.  
  218. template <typename C>
  219. void ShowContainerOfStrings(C container) {
  220. for (auto string : container) {
  221. ShowString(string);
  222. std::cout << " ";
  223. }
  224. std::cout << '\n';
  225. }
  226.  
  227. void final_round() {
  228. ifstream myfile;
  229. myfile.open("dictionary.txt");
  230. vector<places> victor;
  231. vector<string> BEKTOP;
  232. vector<string> BEKTOP1;
  233. places buffer("", 0, 0);
  234. string buffer_str;
  235. string trash;
  236. string buffer_1;
  237. string buffer_name;
  238. string buffer_numb;
  239. double buffer_numb_rly_numb;
  240. while (myfile) {
  241. getline(myfile, buffer_str);
  242. BEKTOP.push_back(buffer_str);
  243. }
  244. myfile.close();
  245. std::sort(BEKTOP.begin(), BEKTOP.end());
  246. for (int id = 0; id < BEKTOP.size(); id++) {
  247. buffer.city = BEKTOP[id];
  248. victor.push_back(buffer);
  249. }
  250. ifstream myfile1;
  251. myfile1.open("1.csv");
  252. while (myfile1) {
  253. //cout << "gsd";
  254. getline(myfile1, buffer_1);
  255. istringstream iss(buffer_1);
  256. getline(iss, buffer_name, ';');
  257. getline(iss, buffer_numb, ';');
  258. const char * c = buffer_numb.c_str();
  259. buffer_numb_rly_numb = atof(c);
  260. for (int l = 0; l < victor.size(); l++) {
  261. if (victor[l].city == buffer_name) victor[l].num1 = buffer_numb_rly_numb;
  262. }
  263. }
  264. myfile1.close();
  265. ifstream myfile4;
  266. myfile4.open("2.csv");
  267. string buffer_1_1;
  268. string buffer_name_1;
  269. string buffer_numb_1;
  270. while (myfile4) {
  271. getline(myfile4, buffer_1_1);
  272. istringstream iss(buffer_1_1);
  273. getline(iss, buffer_name_1, ';');
  274. getline(iss, buffer_numb_1, ';');
  275. const char * c_1 = buffer_numb_1.c_str();
  276. buffer_numb_rly_numb = atof(c_1);
  277. for (int l = 0; l < victor.size(); l++) {
  278. if (victor[l].city == buffer_name_1) victor[l].num2 = buffer_numb_rly_numb;
  279. }
  280. }
  281. myfile4.close();
  282. ofstream FINAL_FINAL_FINAL_FILE_I_HOPE;
  283. FINAL_FINAL_FINAL_FILE_I_HOPE.open("out.csv");
  284. double sum1 = 0;
  285. double sum2 = 0;
  286. for (int o = 0; o < victor.size(); o++) {
  287. sum1 += victor[o].num1;
  288. sum2 += victor[o].num2;
  289. }
  290. FINAL_FINAL_FINAL_FILE_I_HOPE << "СУММА ПО ПЕРВОМУ СТОЛБЦУ:";
  291. FINAL_FINAL_FINAL_FILE_I_HOPE << ";";
  292. FINAL_FINAL_FINAL_FILE_I_HOPE << sum1;
  293. FINAL_FINAL_FINAL_FILE_I_HOPE << "\n";
  294. FINAL_FINAL_FINAL_FILE_I_HOPE << "СУММА ПО ВТОРОМУ СТОЛБЦУ:";
  295. FINAL_FINAL_FINAL_FILE_I_HOPE << ";";
  296. FINAL_FINAL_FINAL_FILE_I_HOPE << sum2;
  297. FINAL_FINAL_FINAL_FILE_I_HOPE << "\n";
  298. for (int o = 0; o < victor.size(); o++) {
  299. FINAL_FINAL_FINAL_FILE_I_HOPE << victor[o].city;
  300. FINAL_FINAL_FINAL_FILE_I_HOPE << ";";
  301. FINAL_FINAL_FINAL_FILE_I_HOPE << victor[o].num1;
  302. FINAL_FINAL_FINAL_FILE_I_HOPE << ";";
  303. FINAL_FINAL_FINAL_FILE_I_HOPE << victor[o].num2;
  304. FINAL_FINAL_FINAL_FILE_I_HOPE << ";";
  305. FINAL_FINAL_FINAL_FILE_I_HOPE << (victor[o].num2 + victor[o].num1);
  306. FINAL_FINAL_FINAL_FILE_I_HOPE << "\n";
  307. }
  308. }
  309.  
  310. int main()
  311. {
  312. setlocale(LC_CTYPE, "rus"); // вызов функции настройки локали
  313. task2();
  314. }
  315.  
  316. // Запуск программы: CTRL+F5 или меню "Отладка" > "Запуск без отладки"
  317. // Отладка программы: F5 или меню "Отладка" > "Запустить отладку"
  318.  
  319. // Советы по началу работы
  320. // 1. В окне обозревателя решений можно добавлять файлы и управлять ими.
  321. // 2. В окне Team Explorer можно подключиться к системе управления версиями.
  322. // 3. В окне "Выходные данные" можно просматривать выходные данные сборки и другие сообщения.
  323. // 4. В окне "Список ошибок" можно просматривать ошибки.
  324. // 5. Последовательно выберите пункты меню "Проект" > "Добавить новый элемент", чтобы создать файлы кода, или "Проект" > "Добавить существующий элемент", чтобы добавить в проект существующие файлы кода.
  325. // 6. Чтобы снова открыть этот проект позже, выберите пункты меню "Файл" > "Открыть" > "Проект" и выберите SLN-файл.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement