Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (j #include <iostream>
- #include <fstream>
- #include <locale>
- using namespace std;
- // Удалить все нечётные элементы
- // Добавить К после всех чётных
- // Сдвиг вправо
- // Найти равный среднему арифметическому
- // Отсортировать методом простого обмена по убыванию
- int Delete(int w){
- ofstream f;
- ifstream F;
- F.open("output.txt", ios::in);
- f.open("Delete.txt");
- int i = 0, k = 0, max = 0, K;
- cout << endl;
- cout << "ФУНКЦИЯ УДАЛЕНИЯ ИЗ МАССИВА :" << endl;
- int* mass = new int[w];
- cout << endl;
- while (k < w){
- F >> mass[k];
- if (mass[k] % 2 == 0){
- cout << "mass[" << i << "] = " << mass[k] << endl;
- f << mass[k] << endl;
- i++;
- }
- k++;
- }
- cout << "Результат операции так же записан в файл Delete.txt" << endl;
- f.close();
- return i; //Возвращаем остаток
- }
- int Dobavka(int k){
- // N Элемент перед элементами , равными K
- int K, a = -1, i = 0, N, j = 1;
- ifstream F;
- ofstream f;
- f.open("Add.txt");
- F.open("Delete.txt", ios::in);
- cout << endl;
- cout << "ФУНКЦИЯ ДОБАВЛЕНИЯ ЭЛЕМЕНТОВ В МАССИВ :" << endl;
- cout << "Введите элемент N " << endl;
- cin >> K;
- int *mass = new int[k * 2];
- while (i < k * 2){
- F >> mass[i];
- mass[i + 1] = K;
- i += 2;
- }
- i = 0;
- cout << "Массив после добавления К элементов :" << endl;
- while (i < k * 2){
- cout << "mass[" << i << "] = " << mass[i] << endl;
- f << mass[i] << endl;
- i++;
- }
- cout << "Результат операции так же записан в файл Add.txt" << endl;
- f.close();
- F.close();
- return k * 2; //Возращаем новое кол-во элементов
- }
- void Sdvig(int k){
- int a = 0, i = 0, j = 0, tmp, M;
- ifstream F;
- ofstream f;
- f.open("Move.txt");
- F.open("Add.txt", ios::in);
- int *mass = new int[k];
- cout << endl;
- cout << "ФУНКЦИЯ СДВИГА ЭЛЕМЕНТОВ МАССИВА :" << endl;
- for (int i = 0; i < k; i++) {
- // Заполнение массива и вывод значений его элементов
- F >> mass[i];
- }
- cout << "Введите число сдвигов : ";
- cin >> M;
- // Перестановка
- for (i = 0; i<M; i++)
- {
- for (j = k - 1; j >= 0; j--)
- if (j == k - 1)
- tmp = mass[k - 1];
- else
- mass[j + 1] = mass[j];
- mass[0] = tmp;
- }
- cout << endl;
- a = 0;
- while (a < k){ //Выводим
- cout << "mass[" << a << "] = " << mass[a] << endl;
- f << mass[a] << endl;
- a++;
- }
- cout << "Результат операции так же записан в файл Move.txt" << endl;
- F.close();
- f.close();
- }
- void Find(int k){
- int a = -1, num = 0, b = 0, mid = 0; // Кол-во сравнений будет равно a+1
- ifstream F;
- ofstream f;
- f.open("Find.txt");
- F.open("Move.txt", ios::in);
- cout << endl;
- cout << "ФУНКЦИЯ ПОИСКА ЭЛЕМЕНТА РАВНОГО СРЕДНЕМУ АРИФМЕТИЧЕСКОМУ :" << endl;
- while (b < k){
- F >> num;
- mid += num;
- b++;
- }
- mid /= b;
- num = 0;
- cout << "Среднее арифметическое равно : " << mid << endl;
- while (a<k && num == 0){
- F >> b;
- a++;
- if (b == mid){
- num = b;
- }
- }
- F.close();
- if (num != 0){
- cout << "Элемент равный среднему арифметическому : " << num << " Его порядковый номер : " << a << endl;
- cout << endl << "Кол-во сравнений равно порядковому номеру+1 : " << a + 1 << endl;
- f << "Элемент равный среднему арифметическому : " << num << " Его порядковый номер " << a << endl;
- f << "Кол-во сравнений равно порядковому номеру+1 : " << a + 1 << endl;
- }
- else{
- cout << "Элемента , равного среднему арифметическому не найдено";
- f << "Элемента , равного среднему арифметическому не найдено";
- }
- cout << endl << "Результат операции так же записан в файл Find.txt" << endl;
- f.close();
- }
- void Obmen(int k){
- int i = 0, min, n_min, j, a = -1;
- ifstream F;
- ofstream f;
- f.open("Obmen.txt");
- F.open("Move.txt", ios::in);
- cout << endl;
- cout << "ФУНКЦИЯ СОРТИРОВКИ :" << endl;
- int *mass = new int[k];
- for (int i = 0; i < k; i++){
- F >> mass[i];
- }
- for (int i = 1; i<k; i++)
- for (int a = k - 1; a >= i; a--)
- if (mass[a]>mass[a - 1])
- {
- int r = mass[a];
- mass[a] = mass[a - 1];
- mass[a - 1] = r;
- }
- a = 0;
- while (a < k){
- cout << "mass[" << a << "] = " << mass[a] << endl;
- f << mass[a] << endl;
- a++;
- }
- cout << "Результат операции так же записан в файл Obmen.txt" << endl;
- F.close();
- f.close();
- }
- void form_matr(int n)
- {
- ifstream F;
- F.open("output.txt", ios::in);
- int* massive = new int[n]; // Выделение памяти для массива
- for (int i = 0; i < n; i++) {
- // Заполнение массива и вывод значений его элементов
- F >> massive[i];
- cout << "Value of " << i << " element is " << massive[i] << endl;
- }
- F.close();;
- }
- void main()
- {
- setlocale(LC_ALL, "rus");
- int num, max = 0; // num - размер массива
- cout << "Введите кол-во элементов в массиве :" << endl;
- cin >> num;
- form_matr(num);
- num = Delete(num); // Удаляем все нечётные элементы
- num = Dobavka(num); // Вставить К после чётных
- Sdvig(num); // Сдвинуть циклически
- Find(num); // Элемент , равный среднему арифметическому
- Obmen(num); // Простой обмен по убыванию
- }
Advertisement
Add Comment
Please, Sign In to add comment