Construa um algoritmo que, para uma matriz de ordem N por M, determine e apresente o elemento “minimax”, bem como sua posição. Denomina-se elemento “minimax”, aquele de menor valor da linha em que se encontra o maior elemento da matriz.

Passo 1

Resumo: Temos uma matriz de ordem Ntimes M. Queremos achar o elemento “minimax”, que é o menor valor na mesma linha onde se encontra o maior elemento da matriz. Matéria envolvida: varredura de matrizes usando laços e controle de índices.

Passo 2

Percorrer toda a matriz para descobrir o maior elemento e sua posição. Inicializo max = A[1][1], imax=1, jmax=1. Para cada i de 1 até N e cada j de 1 até M, se A[i][j]>max, atualizo max:=A[i][j], imax:=i, jmax:=j.

Passo 3

Com a linha do maior elemento identificada (linha imax), percorro essa linha para achar o menor valor nela. Inicializo minRow=A[imax][1], jmin=1. Para cada coluna j de 2 até M, se A[imax][j], atualizo minRow:=A[imax][j] e jmin:=j.

Passo 4

Ao final, o elemento minimax é minRow e sua posição é (imax,jmin).

Resposta

Algoritmo Minimax
  1. Ler inteiros N e M e a matriz A[1…N][1…M]
  2. max A[1][1], i_max 1, j_max 1
  3. Para i de 1 até N faça
  4. Para j de 1 até M faça
  5. Se A[i][j] > max então
  6. max A[i][j]
  7. i_max i
  8. j_max j
  9. minRow A[imax][1], j_min 1
  10. Para j de 2 até M faça
  11. Se A[i_max][j] < minRow então
  12. minRow A[imax][j]
  13. j_min j
  14. Escrever “Elemento minimax = ”, minRow, “ na posição (”, i_max, “, ”, j_min, “)”.

Exercícios relacionados