ChameL1oN

Лаба5

Mar 23rd, 2016
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.23 KB | None | 0 0
  1. #include <iostream>
  2. #include <locale>
  3. #include <fstream>
  4.  
  5. using namespace std;
  6.  
  7. void print(){
  8. int a;
  9. string str;
  10. ifstream f("output.txt", ios::in);
  11. getline(f, str);
  12. cout << str;
  13. cout << endl;
  14. }
  15.  
  16. void Delete(int* mass,int w){
  17. ofstream f;
  18. ofstream F("output.txt");
  19. f.open("Delete.txt");
  20. int i = 0, k = 0, max = 0, K;
  21. cout << endl;
  22. cout << "ФУНКЦИЯ УДАЛЕНИЯ ИЗ МАССИВА :" << endl;
  23. cout << endl;
  24. cout << "Эл-ты оставшиеся в массиве после удаления всех чётных эл-ов:" << endl;
  25. while (k < w){
  26. if (mass[k] % 2 != 0){
  27. cout << "mass[" << i << "] = " << mass[k] << endl;
  28. f << mass[k] << " ";
  29. F << mass[k] << " ";
  30. i++;
  31. }
  32. k++;
  33. }
  34. cout << "Результат операции так же записан в файл Delete.txt" << endl;
  35. f.close();
  36. F.close();
  37. }
  38.  
  39. void add(int* mass,int n){
  40. cout << "ФУНКЦИЯ ДОБАВЛЕНИЯ ЭЛ-ТА R"<< endl;
  41. cout << "После эл-ов больших А и меньших B :" << endl;
  42. ofstream F;
  43. ofstream f("output.txt");
  44. int A, B, R;
  45. int k;
  46. F.open("Add.txt");
  47. do{
  48. cout << "Введите значение A" << endl;
  49. cin >> A;
  50. cout << "Введите значение B" << endl;
  51. cin >> B;
  52. } while (B < A);
  53. cout << "Введите значение R" << endl;
  54. cin >> R;
  55. for (int i = 0; i < n; i++){
  56. F << mass[i] << " ";
  57. f << mass[i] << " ";
  58. if (mass[i] > A && mass[i] < B){
  59. F << R << " ";
  60. f << R << " ";
  61. }
  62. }
  63. f.close();
  64. F.close();
  65. }
  66.  
  67. void Change(int* mass,int n){ //Перестановка
  68. cout << "ФУНКЦИЯ ПЕРЕСТАНОВКИ ЭЛ-ОВ:" << endl;
  69. ofstream F("Change.txt");
  70. ofstream f("output.txt");
  71. int a;
  72. for (int i = 0; i < n; i++){
  73. if (mass[i] % 2 == 0){
  74. F << mass[i] << " ";
  75. f << mass[i] << " ";
  76. }
  77. }
  78. for (int i = 0; i < n; i++){
  79. if (mass[i] % 2 != 0){
  80. F << mass[i] << " ";
  81. f << mass[i] << " ";
  82. }
  83. }
  84. f.close();
  85. F.close();
  86. }
  87.  
  88. void Find(int* mass,int n){
  89. cout << "ФУНКЦИЯ ПОИСКА ПЕРВОГО ЧЁТНОГО ЭЛ-ТА:" << endl;
  90. int a;
  91. int i = 0;
  92. bool flag = false;
  93. while (i < n && !flag){
  94. i++;
  95. if (mass[i] % 2 == 0){
  96. flag = true;
  97. }
  98. }
  99. if (flag){
  100. cout << "Первый чётный эл-т находится под номером " << i+1 << endl;
  101. cout << "Необходимое кол-во сравнения для этого " << i+1 << endl;
  102. }
  103. else{
  104. cout << "В массиве нет чётных эл-тов" << endl;
  105. }
  106. }
  107.  
  108. void sort(int* &mass,int count){
  109. int i, left, right, b;
  110. int t;
  111. int x;
  112. ofstream F("output.txt");
  113. ofstream f;
  114. f.open("Sort.txt");
  115. cout << endl;
  116. cout << "ФУНКЦИЯ СОРТИРОВКИ :" << endl;
  117. for (right = count - 1, left = 0, b = -1; b != 0;)//устанавливаем правую и левую границу
  118. {
  119. b = 0;
  120. for (i = left; i< right; i++)//двигаемся слева направо
  121. {
  122. if (mass[i] > mass[i + 1])
  123. {
  124. t = mass[i]; mass[i] = mass[i + 1]; mass[i + 1] = t; b = i;
  125. }
  126. }
  127. right = b;
  128. for (i = right; i> left; i--)//двигаемся справа налево
  129. {
  130. if (mass[i - 1]>mass[i])
  131. {
  132. t = mass[i]; mass[i] = mass[i - 1]; mass[i - 1] = t; b = i;
  133. }
  134. }
  135. left = b;
  136. }
  137. i = 0;
  138. while (i < count){
  139. cout << "mass[" << i << "] = " << mass[i] << endl;
  140. f << mass[i] << " ";
  141. F << mass[i] << " ";
  142. i++;
  143. }
  144. cout << "Результат операции так же записан в файл Sort.txt" << endl;
  145. F.close();
  146. f.close();
  147. }
  148. void main(){
  149. setlocale(LC_ALL, "rus");
  150. int n;
  151. ifstream f("Text.txt", ios::in);
  152. ofstream F("output.txt");
  153. f >> n;
  154. int* mass = new int[n];
  155. for (int i = 0; i < n; i++){
  156. f >> mass[i];
  157. F << mass[i] << " ";
  158. }
  159. F.close();
  160. cout << "Исходный массив :" << endl;
  161. print();
  162. cout << endl;
  163. Delete(mass,n);
  164. print();
  165. cout << endl;
  166. add(mass,n);
  167. print();
  168. cout << endl;
  169. Change(mass,n);
  170. print();
  171. cout << endl;
  172. F.open("output.txt");
  173. for (int i = 0; i < n; i++){
  174. F << mass[i] << " ";
  175. }
  176. Find(mass,n);
  177. print();
  178. cout << endl;
  179. sort(mass,n);
  180. print();
  181. cout << endl;
  182. Find(mass,n);
  183. print();
  184. cout << endl;
  185. }
Advertisement
Add Comment
Please, Sign In to add comment