Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <locale>
- using namespace std;
- // Удалить все элементы из последовательности , равные максимальному
- // Добавить К элементов в начале последовательности
- // Перевернуть последовательность
- // Найти первый чётный
- // Отсортировать методом простого обмена по возрастанию
- int DeleteMaxim(int w){
- ofstream f;
- ifstream F;
- F.open("Vvod.txt", ios::in);
- f.open("Function1.txt");
- int i = 0, k = 0, max = 0;
- cout << endl;
- cout << "ФУНКЦИЯ УДАЛЕНИЯ ИЗ МАССИВА :" << endl;
- int* mass = new int[w];
- while (i < w){
- F >> mass[i];
- if (mass[i] > max){
- max = mass[i];
- }
- i++;
- }
- i = 0;
- cout << "Массив , после удаления максимальных элементов : " << endl;
- while (k < w){
- if (mass[k] != max){
- cout <<"mass[" << i << "] = " << mass[k] << endl; // ЗАМЕНИТЬ endl на " " , если необходимо в строчку
- f << mass[k] << endl;
- i++;
- }
- k++;
- }
- cout << "Результат операции так же записан в файл Func1.txt" << endl;
- f.close();
- return i; //Возвращаем оставшееся кол-во элементов
- }
- int Dobavit(int k){
- // К элементов в начало массива(что вставлять запрашивать у пользователя)
- int K, a = -1,i=0;
- ifstream F;
- ofstream f;
- f.open("Function2.txt");
- F.open("Function1.txt", ios::in);
- cout << endl;
- cout << "ФУНКЦИЯ ДОБАВЛЕНИЯ ЭЛЕМЕНТОВ В МАССИВ :" << endl;
- cout << "Введите кол-во добавляемых элементов" << endl;
- cin >> K;
- int *Dobavmass = new int[k + K];
- while(i < K) {
- cout << "Введите элемент " << i << endl;
- cin >> Dobavmass[i];
- i++;
- }
- while (i < k + K){
- F >> Dobavmass[i];
- i++;
- }
- i = 0;
- cout << "Массив после добавления К элементов :" << endl;
- while (i < k + K){
- cout << "mass[" << i << "] = " << Dobavmass[i] << endl;
- f << Dobavmass[i] << endl;
- i++;
- }
- cout << "Результат операции так же записан в файл Func2.txt" << endl;
- f.close();
- F.close();
- return k + K; //Возвращаем новое кол-во элементов
- }
- void Perevorot(int k){
- int a;
- ifstream F;
- ofstream f;
- f.open("Function3.txt");
- F.open("Function2.txt", ios::in);
- int *mass = new int[k];
- cout << endl;
- cout << "ФУНКЦИЯ ПЕРЕВОРАЧИВАНИЯ МАССИВА :" << endl;
- for (int i = 0; i < k; i++) {
- // Заполнение массива и вывод значений его элементов
- F >> mass[i];
- }
- a = 0;
- while (a < k/2){ // Переворачиваем
- int r;
- r = mass[a];
- mass[a] = mass[k- 1 - a];
- mass[k - 1 - a] = r;
- a++;
- }
- cout << endl;
- a = 0;
- while (a < k){ //Выводим
- cout << "mass[" << a << "] = " << mass[a] << endl; // ЗАМЕНИТЬ endl на " " , если необходимо в строчку
- f << mass[a] << endl;
- a++;
- }
- cout << "Результат операции так же записан в файл Func3.txt" << endl;
- F.close();
- f.close();
- }
- void Find(int k){
- int a = -1, num=0, b; // Кол-во сравнений будет равно a+1
- ifstream F;
- ofstream f;
- f.open("Function4.txt");
- F.open("Function3.txt", ios::in);
- cout << endl;
- cout << "ФУНКЦИЯ ПОИСКА ПЕРВОГО ЧЁТНОГО ЭЛЕМЕНТА В МАССИВЕ :" << endl;
- while (a<k && num == 0){
- F >> b;
- a++;
- if (b % 2 == 0){
- num = b;
- }
- }
- F.close();
- cout << "Первый чётный элемент равен " << num << " Его порядковый номер " << a << endl;
- cout << "Кол-во сравнений равно порядковому номеру+1 : " << a+1 << endl;
- cout << "Результат операции так же записан в файл Func4.txt" << endl;
- f << "Первый чётный элемент равен " << num << " Его порядковый номер " << a << endl;
- f << "Кол-во сравнений равно порядковому номеру+1(0-ой элемент) : " << a + 1 << endl;
- f.close();
- }
- void Obmen(int k){
- int a = -1;
- ifstream F;
- ofstream f;
- f.open("Function5.txt");
- F.open("Function3.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; // ЗАМЕНИТЬ endl на " " , если необходимо в строчку
- f << mass[a] << endl;
- a++;
- }
- cout << "Результат операции так же записан в файл Func5.txt" << endl;
- F.close();
- f.close();
- }
- void form_matr(int n)
- {
- ifstream F;
- F.open("Vvod.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 = DeleteMaxim(num); // Удаляем максимальные и получаем новое кол-во элементов
- num = Dobavit(num); // Добавить К элементов в начало массива и получить новое кол-во элементов
- Perevorot(num); // Перевернуть массив
- Find(num); // Найти первый чётный
- Obmen(num); // Простой обмен по возрастанию
- }
Advertisement
Add Comment
Please, Sign In to add comment