//conditional max_search on column #include using namespace std; void read(int v[50][50], int &, int &); struct fmker{ bool van; int fjind, fmaxert; }; fmker fmaxker(const int v[50][50], int & n, int & m); int fmax(const int v[50][50], int & n, int & m, int & fmaxert, bool & van); int sum_col(const int v[50][50], int & n, int j); int main() { int n, m; int t[50][50]; read(t,n,m); cout<<" the elements of the matrix: "<>n>>m; if(n<=1 || n>50 || m<=1 || m>50) cout<<"not good, give it again: "<50 || m<=1 || m>50); //fill the matrix cout<<" give the values: "<> v[i][j]; } } } fmker fmaxker(const int x[50][50], int & n, int & m) { fmker a; a.van=false; for(int j=0; j=0 && x[1][j]<=0) {} if(x[0][j]<0 && x[1][j]>0 && !a.van ) { a.van=true; a.fmaxert=sum_col(x,n,j); a.fjind=j; } if(x[0][j]<0 && x[1][j]>0 && a.van ) { if(sum_col(x, n,j)>a.fmaxert) { a.fmaxert=sum_col(x, n,j); a.fjind=j; } } } return a; } int fmax(const int x[50][50], int & n, int & m, int & fmaxert, bool & van) { int fjind; van=false; for(int j=0; j=0 && x[1][j]<=0) {} if(x[0][j]<0 && x[1][j]>0 && !van ) { van=true; fmaxert=sum_col(x,n,j); fjind=j; } if(x[0][j]<0 && x[1][j]>0 && van ) { if(sum_col(x, n,j)>fmaxert) { fmaxert=sum_col(x, n,j); fjind=j; } } } return fjind; } int sum_col(const int v[50][50], int & n, int j) { int s=0; for(int i=0; i