二次元配列を受け取り、走査しながら見た中の最大値を持つことで、この問題を正解できます。 c++, Python での実装例を以下に示します。

c++
#include<bits/stdc++.h>

using namespace std;

int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int h, w; cin >> h >> w;
    int ansX = 1, ansY = 1, mx = 0;
    for(int i = 0; i < h; i++){
        for(int j = 0; j < w; j++){
            int a; cin >> a;
            if(a > mx){
                mx = a;
                ansX = i + 1, ansY = j + 1;
            }
        }
    }
    cout << ansX << " " << ansY << "\n";
}
Python
h, w = map(int, input().split())
a = [list(map(int, input().split())) for _ in range(h)]
ansX, ansY = 1, 1
mx = 0
for i in range(h):
  for j in range(w):
    if a[i][j] > mx:
      mx = a[i][j]
      ansX = i + 1
      ansY = j + 1
print(ansX, ansY)