Se ficou alguma duvida a respeito do porque precisamos de duas repetições para percorrer uma matriz, essa aula é para você.
Uma matriz é uma estrutura de dados homogênea bidimensional. Assim, tendo linhas e colunas, precisamos de dois índices para acessar qualquer elemento da matriz, um índice para indicar a linha e outro para indicar a coluna.
Com apenas uma repetição, podemos por exemplo fixar o índice da linha e percorrer as colunas, imprimindo assim uma linha da matriz:
int l, c, mat[4][5] = {{10,11,12,13,14},{20,21,22,23,24},{30,31,32,33,34},{40,41,42,43,43}} para(c = 0; c < 5; c++) escreva(mat[0][c], " ") // perceba que fiixamos a linha zero
Isso irá imprimir a linha zero da matriz. Para imprimir todas as quatro linhas da matriz precisamos repetir o trecho acima trocando a linha fixada, assim:
para(c = 0; c < 5; c++) // imprime a linha um escreva(mat[1][c], " ") para(c = 0; c < 5; c++) // imprime a linha dois escreva(mat[2][c], " ") para(c = 0; c < 5; c++) // imprime a linha três escreva(mat[3][c], " ")
Perceba que, assim como os índices das colunas, os índices das linhas também são sequenciais. Assim, ao invés de repetir trechos de código para imprimir uma linha da matriz, podemos envolver esse trecho com outra repetição, gerando os índices das linhas a serem impressas, assim:
para(l = 0; l < 4; l++){ para(c = 0; c < 5; c++) escreva(mat[l][c], " ") escreva("\n") }
A seguir deixo o código completo em Portugol para imprimir uma matriz 4 x 5
programa{ funcao inicio(){ inteiro l, c, mat[4][5] = {{10,11,12,13,14},{20,21,22,23,24},{30,31,32,33,34},{40,41,42,43,43}} para(l = 0; l < 4; l++){ // índices das linhas de 0 a 4 para(c = 0; c < 5; c++) // índices das colunas de 0 a 5 escreva(mat[l][c], " ") escreva("\n") } } }