#include <stdio.h>
#include <limits.h>
#include "genlib.h"
#include "simpio.h"

#define NMAX 20

void MAX(int a[NMAX][NMAX], int *pk, int *pL, int *pC, int n);
int leia_matriz(int a[NMAX][NMAX]);

int main()
{
  int n, i, k, Lin, Col;
  int a[NMAX][NMAX];

  n=leia_matriz(a);

  for (i=0; i<n*n; i++) {
    MAX(a, &k, &Lin, &Col, n);
    printf(" %5d %5d %5d\n", k, Lin, Col);
    a[Lin][Col]=-1;
  }
  
  return 0;
}

void MAX(int a[NMAX][NMAX], int *pk, int *pL, int *pC, int n)
{
  int t=INT_MIN;
  int i, j, ii, jj;

  ii=jj=0;
  
  for (i=0; i<n; i++)
    for (j=0; j<n; j++)
      if (a[i][j]>t) 
	{ t=a[i][j]; ii=i; jj=j; }

  *pk=t; *pL=ii; *pC=jj;
}

int leia_matriz(int a[NMAX][NMAX])
{
  int n;
  int i, j;
  
  printf("Numero de linhas e colunas = ");
  n=GetInteger();

  for (i=0; i<n; i++)
    for (j=0; j<n; j++) {
      printf("  ? ");
      a[i][j]=GetInteger();
    }
  return n;
}
