Untitled
unknown
plain_text
2 years ago
2.8 kB
3
Indexable
void initialization3() { char** matrix = NULL; int sizerow = 0; int sizecol = 0; std::cout<<"Enter size row for matrix -> "<<std::endl; std::cin>>sizerow; matrix = new char*[sizerow]; std::cout<<"Enter size col for matrix -> "; std::cin>>sizecol; for (int i = 0; i < sizerow; ++i) { matrix[i] = new char[sizecol]; } resetmatrix(matrix , sizerow , sizecol); } void resetmatrix(char** matrix , int sizerow , int sizecol) { for (int i = 0; i < sizerow; ++i) { for (int j = 0; j < sizecol; ++j) { std::cin>>matrix[i][j]; if (matrix[i][j] != '0' && matrix[i][j] != '1') { do { std::cin>>matrix[i][j]; } while (matrix[i][j] != '0' && matrix[i][j] != '1'); } } } PrintMatrix(matrix,sizerow,sizecol); } void PrintMatrix(char** matrix , int sizerow , int sizecol) { std::cout<<std::endl; std::cout<<std::endl; for (int i = 0; i < sizerow; ++i) { for (int j = 0; j < sizecol; ++j) { std::cout<<" "<<matrix[i][j]<<" "; } std::cout<<std::endl; std::cout<<std::endl; } bool result = check(matrix, sizerow, sizecol); if (result) { std::cout<<"The matrix is -> Correct"<<std::endl; } else std::cout<<"The matrix is -> Not Correct"<<std::endl; } bool check(char** matrix, int sizerow, int sizecol) { for (int i = 0; i < sizerow; i++) { int row_sum = 0; for (int j = 0; j < sizecol; j++) { if (matrix[i][j] == '1') { row_sum += 1 << (sizecol - 1 - j); } } if (i > 0) { int prev_row_sum = 0; for (int j = 0; j < sizecol; j++) { if (matrix[i - 1][j] == '1') { prev_row_sum += 1 << (sizecol - 1 - j); } } if (row_sum <= prev_row_sum) { return false; } } } for (int j = 0; j < sizecol; j++) { int col_sum = 0; for (int i = 0; i < sizerow; i++) { if (matrix[i][j] == '1') { col_sum += 1 << (sizerow - 1 - i); } } if (j > 0) { int prev_col_sum = 0; for (int i = 0; i < sizerow; i++) { if (matrix[i][j - 1] == '1') { prev_col_sum += 1 << (sizerow - 1 - i); } } if (col_sum <= prev_col_sum) { return false; } } } return true; }
Editor is loading...