Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Если сумма массива равна первому элементу в массиве, то инвертируем, если больше, то по возрастанию, если меньше, то по убыванию*/
- #include "pch.h"
- #include <iostream>
- using namespace std;
- void(*menu(int *array, int size))(int*, int);
- void inverse(int* array, int size);
- void increase(int* array, int size);
- void decrease(int* array, int size);
- int main()
- {
- setlocale(LC_ALL, "Russian");
- int size;
- cout << "Введите кол-во элементов в массиве: ";
- cin >> size;
- int *array = new int[size];
- for (int i = 0; i < size; i++)
- {
- array[i] = rand() % 21 - 10;
- cout << array[i] << "\t";
- }
- void(*pointer) (int*, int) = menu(array, size);
- pointer(array, size);
- }
- void (*menu(int *array, int size))(int*, int)
- {
- int sum = array[0];
- for (int i = 1; i < size; i++)
- sum = sum + array[i];
- if (sum == array[0])
- return &inverse;
- if (sum > array[0])
- return &increase;
- if (sum < array[0])
- return &decrease;
- }
- void inverse(int *array, int size)
- {
- cout << "\nИнвертированный массив:\n";
- int t;
- for (int i = 0; i < size; i++)
- {
- if (i != size / 2)
- {
- t = array[i];
- array[i] = array[size - i - 1];
- array[size - i - 1] = t;
- }
- cout << array[i] << "\t";
- }
- }
- void increase(int *array, int size)
- {
- cout << "\nМассив в неубывающем порядке:\n";
- int t;
- for (int i = 0; i < size - 1; i++)
- {
- for (int j = i + 1; j < size; j++)
- {
- if (array[i] > array[j])
- {
- t = array[j];
- array[j] = array[i];
- array[i] = t;
- }
- }
- }
- for (int i = 0; i < size; i++)
- {
- cout << array[i] << "\t";
- }
- }
- void decrease(int *array, int size)
- {
- cout << "\nМассив в невозрастающем порядке:\n";
- int t;
- for (int i = 0; i < size - 1; i++)
- {
- for (int j = i + 1; j < size; j++)
- {
- if (array[i] < array[j])
- {
- t = array[j];
- array[j] = array[i];
- array[i] = t;
- }
- }
- }
- for (int i = 0; i < size; i++)
- {
- cout << array[i] << "\t";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement