Ler uma matriz A de dimensão
. Gerar M vetores, onde cada vetor corresponde a uma linha da matriz. Encontrar os maiores elementos de cada vetor e armazená-los em um vetor V . Substituir a penúltima coluna da matriz A pelo vetor V. Escrever a matriz A inicial , os M vetores produzidos, o vetor V e a matriz A modificada.
Passo 1
A questão é de manipulação de matrizes e vetores em programação: dado uma matriz quadrada
de ordem
, vamos extrair cada linha como vetor, achar o maior elemento de cada vetor para formar um vetor
e, por fim, substituir a penúltima coluna de
pelo vetor
.
Passo 2
Primeiro, lemos o inteiro
(dimensão da matriz) e, em seguida, a matriz
de dimensão
.
Para cada índice de 1 até
, construímos o vetor- linha
.
Para cada índice
Passo 3
Em cada vetor- linha
, calculamos o máximo:
. Assim obtemos o vetor
.
Passo 4
Substituímos a penúltima coluna de
pelo vetor
, ou seja, para cada
de 1 até
fazemos
.
Por fim, escrevemos: 1) a matriz inicial, 2) cada vetor- linha
, 3) o vetor
e 4) a matriz
modificada.
Por fim, escrevemos: 1) a matriz
Resposta
Segue um pseudocódigo em linguagem estruturada:
Algoritmo SubstituiPenultimaColuna
// Leitura
digite M
para i de 1 até M faça
para j de 1 até M faça
leia A[i][j]
fim para
fim para
// Construção dos vetores-linha e do vetor V
para i de 1 até M faça
// extrai linha
para j de 1 até M faça
L[i][j] ← A[i][j]
fim para
// encontra máximo na linha i
maximo ← L[i][1]
para j de 2 até M faça
se L[i][j] > maximo então
maximo ← L[i][j]
fim se
fim para
V[i] ← maximo
fim para
// Substituição da penúltima coluna por V
para i de 1 até M faça
A[i][M-1] ← V[i]
fim para
// Impressões
imprima "Matriz A inicial:"
(imprima A original)
imprima "Vetores-linha L_i:"
para i de 1 até M faça
imprima L[i]
fim para
imprima "Vetor V de máximos:"
imprima V
imprima "Matriz A modificada:"
imprima A (já com penúltima coluna substituída)
FimAlgoritmo