Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include < iostream >
- #include < windows.h >
- #include < vector >
- #include < algorithm >
- #include < ctime >
- #include < cstdlib >
- using namespace std;
- void Show_Arr(int **);
- int main()
- {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- srand(time(NULL));
- system("color 0A");
- cout << "Введите размеры массива ";
- unsigned n, m;
- cin >> n >> m;
- //Анонимные методы
- //Получение случайного числа от - 50 до 50
- auto gen_symbol = []()
- {
- return -50 + rand() % 101;
- };
- //Получение строки чисел для вставки в двумерный массив
- auto gen_string = [m, gen_symbol]()
- {
- auto str = new int[m + 1];
- generate(str, str + m + 1, gen_symbol);
- return str;
- };
- //Нахождение построчной суммы
- auto edit = [m](int *str)
- {
- auto sum = 0;
- auto len = m + 1;
- for (auto u = 0u; u < len - 1; ++u)
- {
- sum += str[u];
- }
- str[len - 1] = sum;
- };
- //Сравнение сумм строк
- auto predicate = [m](int *str1, int *str2)
- {
- auto len1 = m + 1;
- auto len2 = m + 1;
- return str1[len1 - 1] < str2[len2 - 1];
- };
- //Объявление двумерного массива
- int **v = new int*[n];
- for (auto count = 0u; count < n; ++count)
- {
- v[count] = new int[m + 1];
- }
- //Заполнение двумерного массива
- generate(v, v + n, gen_string);
- //Демонстрация содержимого двумерного массива
- cout << "Исходный массив" << endl;
- Show_Arr(v);
- //Обработка двумерного массива
- for_each(v, v + n, edit);
- sort(v, v + n, predicate);
- //Демонстрация содержимого двумерного массива
- cout << "Обработанный массив" << endl;
- Show_Arr(v);
- system("pause");
- return 0;
- }
- //Функция для отображения содержимого двумерного массива в консоле
- void Show_Arr(int **arr)
- {
- auto len1 = _msize(arr) / sizeof(arr);
- auto len2 = _msize(*arr) / sizeof(*arr);
- for (auto u = 0u; u < len1; ++u)
- {
- for (auto p = 0u; p < len2 - 1; ++p)
- {
- cout << arr[u][p] << " ";
- }
- cout << endl;
- }
- cout << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement