Hello,
I m trying to find saddle point in a matrix. But when i return array from function the program simply doesn't work at all. I get no output even though there's a saddle point in matrix. Here is the code :-
This code works perfectly now when i write the above function as :-Code:#include <iostream.h> #define M 3 #define N 3 int* find_min(int a[M][N],int row) { int *temp,j=1; temp=new int[2]; temp[0]=a[row][0]; temp[1]=0; for(j=1;j<N;j++) { if(temp[0]>a[row][j]) { temp[0]=a[row][j]; temp[1]=j; } } return temp; } int find_max(int a[M][N],int col) { int i,temp; temp=a[0][col]; for(i=1;i<M;i++) { if(a[i][col]>temp) temp=a[i][col]; } return temp; } void saddle(int a[M][N]) { int i,max,*min,j; for(i=0;i<M;i++) { min=find_min(a,i); max=find_max(a,min[1]); if(min[0]==max) cout<<"\n\nSaddle Point :"<<min[0]; } } int main(void) { int a[M][N]={5,7,3,7,7,9,7,1,2}; saddle(a); return 0; }
this is not working. Can anybody tell me why is this wrong?Code:int* find_min(int a[M][N],int row) { int temp[2],j=1; temp[0]=a[row][0]; temp[1]=0; for(j=1;j<N;j++) { if(temp[0]>a[row][j]) { temp[0]=a[row][j]; temp[1]=j; } } return temp; }



LinkBack URL
About LinkBacks


