Попробуйте это,
#include <stdio.h>
int check(int arr[5][5],int r,int c) /*Function to check is that element is lesser than all element in row and grater than all element in col*/
{
int i;
for(i=0;i<5;i++)
{
if(arr[r][c]>=arr[r][i]&&i!=c)
return 0;
}
for(i=0;i<5;i++)
{
if(arr[r][c]<=arr[i][c]&&i!=r)
return 0;
}
return 1;
}
int main()
{
int i,j,a[5][5],flag=1;
printf("Enter Matrix A :\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("A[%d,%d] = ",i+1,j+1);
scanf("%d",&a[i][j]);
}
}
printf("\nMatrix A:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
printf("\nAnswer:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(check(a,i,j))
{
printf("A[%d,%d]=%d",i+1,j+1,a[i][j]);
flag=0;
break;
}
}
}
if(flag)
{
printf("No Value");
}
return 0;
}
Если ваша матрица имеет более одного значения, как это (5), удалите break
, и если вы удалили разрыв, это напечатает все значения, как это (5), иначе это будет напечатайте первое значение следующим образом.
Примечание. Код можно оптимизировать лучше, но это для простоты и понимания.