Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdlib.h>
- #include <time.h>
- using namespace std;
- void sort(int*arr, int arrLength)
- {
- for (int i = 0; i < arrLength; i++)//пузырек
- {
- for (int j = 0; j < arrLength - i; j++)
- {
- if (arr[j] > arr[j + 1])
- {
- int temp;
- temp = arr[j];
- arr[j] = arr[j + 1];
- arr[j + 1] = temp;
- }
- }
- }
- }
- int main()
- {
- setlocale (LC_ALL, "Russian");
- int m, n;
- srand(time(NULL));
- cout << "Введите количество строк и столбцов" << endl;
- cin >> m >> n;
- if (m > 8 || n > 8 || m != n)
- {
- cout << "Введенное значение больше 8-ми или значения не равны" << endl;
- exit(1);
- }
- int **arr = new int* [m];
- for(int i = 0; i<m;i++)
- arr[i] = new int[n];
- cout << "Желаете сами заполнить матрицу? (y/n)" << endl;
- char select;
- cin >> select;
- if (select == 'y')
- {
- cout << "Вводите данные" << endl;
- for(int i = 0; i < m; i++)
- {
- for(int j = 0; j < n; j++)
- {
- cin >> arr[i][j];
- }
- }
- }
- else
- {
- for(int i = 0; i < m; i++) {
- for(int j =0; j < n; j++) {
- arr[i][j] = -10000 + rand() % 20000;
- }
- }
- }
- system("cls");
- cout << "Ваша матрица:" << endl;
- for(int i=0;i<m;++i)
- {
- for(int j=0;j<n;++j)
- cout << arr[i][j] << " ";
- cout << endl << endl;
- }
- cout << endl;
- int counter = 0;
- int* newArr = new int[n + m - 3];//новый одномерный массив
- for(int i=1; i < n; i++)
- {
- newArr[counter] = arr[0][i];
- counter++;
- }
- for(int i=1; i < (n-1); i++)
- {
- newArr[counter] = arr[i][n-1];
- counter++;
- }
- sort(newArr, counter);//сортировка
- cout << endl << endl << endl;
- counter=0;
- for(int i=1; i < n; i++)//возвращение к двумерному
- {
- arr[0][i]=newArr[counter];
- counter++;
- }
- for(int i=1; i < (n-1); i++)
- {
- arr[i][n-1]=newArr[counter];
- counter++;
- }
- counter=0;//обнуление счетчика
- /*int* mas = new int[n + m - 3];
- for(int i=1; i < n; i++)
- {
- mas[counter] = arr[i][0];
- counter++;
- }
- for(int i=1; i < (n-1); i++)
- {
- mas[counter] = arr[n-1][i];
- counter++;
- }
- sort(mas,counter);
- counter=0;
- for (int i=1; i < n; i++)
- {
- arr[i][0]=mas[counter];
- counter++;
- }
- for (int i=1; i < n-1; i++)
- {
- arr[n-1][i]=mas[counter];
- counter++;
- }
- int* massive = new int[n];
- counter=0;
- for (int i=0; i < n; i++)
- {
- massive[counter]=arr[i][i];
- counter++;
- }
- sort(massive, counter);
- counter=0;
- for (int i=0; i < n; i++)
- {
- arr[i][i]=massive[counter];
- counter++;
- }*/
- cout << "Измененная матрица" << endl;
- for(int i=0;i<m;++i)
- {
- for(int j=0;j<n;++j)
- cout << arr[i][j] << " ";
- cout << endl << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement