It is one of the simplest tasks in C++. If an element in a matrix is found to be zero, then make its corresponding row and column to zeroes. Here is the code for the above task.
1 #include<iostream> 2 using namespace std; 3 class matrix 4 { 5 int a[50][50]; 6 int n,m; 7 public: 8 matrix(int rows,int cols) 9 { 10 n=cols; 11 m=rows; 12 **a=0; 13 } 14 void create() 15 { 16 cout<<"Enter elements: "; 17 for(int i=0;i<m;i++) 18 { 19 for(int j=0;j<n;j++) 20 { 21 cin>>a[i][j]; 22 } 23 } 24 } 25 void zero() 26 { 27 int *rows=new int[m]; 28 int *cols=new int[n]; 29 30 for(int i=0;i<m;i++) 31 { 32 for(int j=0;j<n;j++) 33 { 34 if(a[i][j]==0) 35 { 36 rows[i]=1; 37 cols[j]=1; 38 } 39 } 40 41 } 42 43 for(int i=0;i<m;i++) 44 { 45 for(int j=0;j<n;j++) 46 { 47 if(rows[i]==1||cols[j]==1) 48 a[i][j]=0; 49 } 50 } 51 } 52 void display() 53 { 54 for(int i=0;i<m;i++) 55 { 56 for(int j=0;j<n;j++) 57 { 58 cout<<a[i][j]<<" "; 59 } 60 cout<<endl; 61 } 62 } 63 64 }; 65 int main() 66 { 67 int x,y; 68 cout<<"Enter rows and cols: "; 69 cin>>x>>y; 70 matrix m(x,y); 71 m.create(); 72 m.zero(); 73 cout<<"\nAfter change:\n"; 74 m.display(); 75 return 0; 76 }If there are any suggestions, please feel free to comment........See you again with a new challenge