Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <locale>
- #include <fstream>
- using namespace std;
- void print(){
- int a;
- string str;
- ifstream f("output.txt", ios::in);
- getline(f, str);
- cout << str;
- cout << endl;
- }
- void Delete(int* mass,int w){
- ofstream f;
- ofstream F("output.txt");
- f.open("Delete.txt");
- int i = 0, k = 0, max = 0, K;
- cout << endl;
- cout << "ФУНКЦИЯ УДАЛЕНИЯ ИЗ МАССИВА :" << endl;
- cout << endl;
- cout << "Эл-ты оставшиеся в массиве после удаления всех чётных эл-ов:" << endl;
- while (k < w){
- if (mass[k] % 2 != 0){
- cout << "mass[" << i << "] = " << mass[k] << endl;
- f << mass[k] << " ";
- F << mass[k] << " ";
- i++;
- }
- k++;
- }
- cout << "Результат операции так же записан в файл Delete.txt" << endl;
- f.close();
- F.close();
- }
- void add(int* mass,int n){
- cout << "ФУНКЦИЯ ДОБАВЛЕНИЯ ЭЛ-ТА R"<< endl;
- cout << "После эл-ов больших А и меньших B :" << endl;
- ofstream F;
- ofstream f("output.txt");
- int A, B, R;
- int k;
- F.open("Add.txt");
- do{
- cout << "Введите значение A" << endl;
- cin >> A;
- cout << "Введите значение B" << endl;
- cin >> B;
- } while (B < A);
- cout << "Введите значение R" << endl;
- cin >> R;
- for (int i = 0; i < n; i++){
- F << mass[i] << " ";
- f << mass[i] << " ";
- if (mass[i] > A && mass[i] < B){
- F << R << " ";
- f << R << " ";
- }
- }
- f.close();
- F.close();
- }
- void Change(int* mass,int n){ //Перестановка
- cout << "ФУНКЦИЯ ПЕРЕСТАНОВКИ ЭЛ-ОВ:" << endl;
- ofstream F("Change.txt");
- ofstream f("output.txt");
- int a;
- for (int i = 0; i < n; i++){
- if (mass[i] % 2 == 0){
- F << mass[i] << " ";
- f << mass[i] << " ";
- }
- }
- for (int i = 0; i < n; i++){
- if (mass[i] % 2 != 0){
- F << mass[i] << " ";
- f << mass[i] << " ";
- }
- }
- f.close();
- F.close();
- }
- void Find(int* mass,int n){
- cout << "ФУНКЦИЯ ПОИСКА ПЕРВОГО ЧЁТНОГО ЭЛ-ТА:" << endl;
- int a;
- int i = 0;
- bool flag = false;
- while (i < n && !flag){
- i++;
- if (mass[i] % 2 == 0){
- flag = true;
- }
- }
- if (flag){
- cout << "Первый чётный эл-т находится под номером " << i+1 << endl;
- cout << "Необходимое кол-во сравнения для этого " << i+1 << endl;
- }
- else{
- cout << "В массиве нет чётных эл-тов" << endl;
- }
- }
- void sort(int* &mass,int count){
- int i, left, right, b;
- int t;
- int x;
- ofstream F("output.txt");
- ofstream f;
- f.open("Sort.txt");
- cout << endl;
- cout << "ФУНКЦИЯ СОРТИРОВКИ :" << endl;
- for (right = count - 1, left = 0, b = -1; b != 0;)//устанавливаем правую и левую границу
- {
- b = 0;
- for (i = left; i< right; i++)//двигаемся слева направо
- {
- if (mass[i] > mass[i + 1])
- {
- t = mass[i]; mass[i] = mass[i + 1]; mass[i + 1] = t; b = i;
- }
- }
- right = b;
- for (i = right; i> left; i--)//двигаемся справа налево
- {
- if (mass[i - 1]>mass[i])
- {
- t = mass[i]; mass[i] = mass[i - 1]; mass[i - 1] = t; b = i;
- }
- }
- left = b;
- }
- i = 0;
- while (i < count){
- cout << "mass[" << i << "] = " << mass[i] << endl;
- f << mass[i] << " ";
- F << mass[i] << " ";
- i++;
- }
- cout << "Результат операции так же записан в файл Sort.txt" << endl;
- F.close();
- f.close();
- }
- void main(){
- setlocale(LC_ALL, "rus");
- int n;
- ifstream f("Text.txt", ios::in);
- ofstream F("output.txt");
- f >> n;
- int* mass = new int[n];
- for (int i = 0; i < n; i++){
- f >> mass[i];
- F << mass[i] << " ";
- }
- F.close();
- cout << "Исходный массив :" << endl;
- print();
- cout << endl;
- Delete(mass,n);
- print();
- cout << endl;
- add(mass,n);
- print();
- cout << endl;
- Change(mass,n);
- print();
- cout << endl;
- F.open("output.txt");
- for (int i = 0; i < n; i++){
- F << mass[i] << " ";
- }
- Find(mass,n);
- print();
- cout << endl;
- sort(mass,n);
- print();
- cout << endl;
- Find(mass,n);
- print();
- cout << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment