Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <string>
- #include <sstream>
- using namespace std;
- void readInput(int & inputRows, vector<vector<int>> & matrix, int & sizeCols){
- for(int rows = 0; rows < inputRows; rows++){
- vector<int> colsMatrix;
- string numbersInCol;
- getline(cin,numbersInCol);
- istringstream istr(numbersInCol);
- string recordStream;
- int currentNum = 0;
- while(istr >> recordStream){
- currentNum = stoi(recordStream);
- colsMatrix.push_back(currentNum);
- }
- sizeCols = colsMatrix.size();
- matrix.push_back(colsMatrix);
- }
- }
- bool compareMatrices (const vector<vector<int>> & matrix1, const vector<vector<int>> & matrix2,
- const int & rows1, const int & cols1, const int & rows2, const int & cols2){
- bool sizeEqual;
- if(rows1 == rows2 && cols1 == cols2 ){
- sizeEqual = true;
- }
- bool elementsEqual;
- int falseCounter = 0;
- for(int rows = 0; rows < rows1; rows++){
- for(int cols = 0; cols < cols1; cols++){
- if(matrix1[rows][cols] == matrix2[rows][cols]){
- elementsEqual = true;
- } else{
- falseCounter++;
- }
- }
- }
- if(falseCounter > 0){
- elementsEqual = false;
- }
- bool equalMatrices;
- if(sizeEqual && elementsEqual){
- equalMatrices = true;
- }
- return equalMatrices;
- }
- int main(){
- int rowsMatrix1 = 0;
- cin >> rowsMatrix1;
- cin.ignore();
- vector<vector<int>> matrix1;
- int sizeCols = 0;
- readInput(rowsMatrix1,matrix1,sizeCols);
- int rowsMatrix2 = 0;
- cin >> rowsMatrix2;
- cin.ignore();
- vector<vector<int>> matrix2;
- int sizeCols2 = 0;
- readInput(rowsMatrix2,matrix2,sizeCols2);
- bool areEqual = compareMatrices(matrix1,matrix2,rowsMatrix1,sizeCols,rowsMatrix2,sizeCols2);
- if(areEqual == true){
- cout << "equal" << endl;
- } else {
- cout << "not equal" << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement