6.3. Implemente a função
Void transpor(int v[MAX] [MAX]))
Que transpões a matriz v com MAX por MAX elementos.
Passo 1
Vamos lá.
A matriz é definida pelo comando .
Cada colchete é um índice. Então se tivermos estamos na segunda linha e na terceira coluna. O que queremos fazer é transformar tudo que é linha em coluna e tudo que é coluna em linha, então depois da transposição tem que virar .
Para isso podemos usar dois laços de repetição, um dentro do outro, um deles vai rodar desde a primeira linha até a última, e dentro do segundo laço roda da coluna logo com o próximo índice da linha que estamos analisando até o final.
Passo 2
A implementação fica mais ou menos assim:
Vamos entender o que está acontecendo. A cada iteração a gente troca o valor de com o valor de , que seria o mesmo que dizer que estamos transformando todas as linhas em colunas.
É interessante que sempre começa de , porque tudo antes disso já foi transposto. Na primeira iteração por exemplo, a gente não precisa transpor , ele já está na posição correta, então ajeitamos todo o resto de até vira até . Na segunda iteração, começamos de , mas a posição já foi transposta no laço anterior.
Resposta