Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <vector>
- #include <iostream>
- using namespace std;
- //если в строке будет например 1 2 3 3 4 5 5 6 то она считается отсортированной
- //1 1 1 тоже отсортирована
- bool IsSorted (int* arr, int m)
- {
- bool flagGrowing = true, flagDecrease = true;
- for(int i=0; i<m-1; i++){
- if (arr[i+1] < arr[i])// проверили, что элементы неупорядочены или упорядочены по позрастанию
- //если хоть один будет меньше предыдущего, значит не упорядочены и сразу прерываем цикл
- {
- flagGrowing = false;
- break;
- }
- }
- for(int i=0; i<m-1; i++){
- if (arr[i+1] > arr[i])// проверили, что элементы неупорядочены или упорядочены по убыванию
- //если хоть один будет больше предыдущего, значит не упорядочены и сразу прерываем цикл
- {
- flagDecrease = false;
- break;
- }
- }
- if (flagGrowing || flagDecrease)//если отсортирован либо по возр, либо по убыв, то возр тру
- return true;
- else
- return false;
- }
- vector<int> CheckMatrix(int** matrix, int m, int n)
- {
- vector<int> vec;
- for(int i=0; i<m; i++){
- if(IsSorted(matrix[i], m)) // если отсортирована, то добавляем в вектор 1, иначе ноль
- vec.push_back(1);
- else
- vec.push_back(0);
- }
- return vec;
- }
- //функция печати итогового вектора
- void PrintVector( vector<int>&a)
- {
- for (vector<int>::iterator it = a.begin() ; it!=a.end() ; ++it)
- cout<<*it << " ";
- }
- int main(int argc, const char * argv[]) {
- int m = 3, n = 3;
- int **matrix=new int* [m];//создали динамич массив с m строк
- for(int i=0; i<m; i++)
- matrix[i]=new int [n]; // выделили на каждую строку столбцы грубо говоря
- vector<int> vec;
- //заполнили массив рандомными числами
- for(int i=0; i<m; i++){
- for(int j=0; j<n; j++){
- matrix[i][j]=rand()%100+1;
- cout << matrix[i][j] << " ";
- }
- cout << endl;
- }
- /*
- matrix[0][0] = 1; matrix[0][1] = 1; matrix[0][2] = 1;
- matrix[1][0] = 1; matrix[1][1] = 2; matrix[1][2] = 3;
- matrix[2][0] = 1; matrix[2][1] = 2; matrix[2][2] = 1;*/
- vec = CheckMatrix(matrix, m, n);
- cout << "Получившийся вектор: ";
- PrintVector(vec);
- puts("\n");
- return 0;
- }
Add Comment
Please, Sign In to add comment