Vamos a mais uma dúvida na aula de hoje? Nesta aula vamos aprender como identificar e imprimir apenas os elementos que estão abaixo da diagonal secundária de uma matriz.
Este problema é relativamente simples. O complicador aqui é como determinar corretamente o índice das colunas para que o nosso código funcione corretamente para qualquer matriz quadrada.
Esse processo envolve rabiscar muitas matrizes quadradas no papel e observar como se comportam os índices das colunas. Com esta análise é possível concluir que os índices das colunas sempre serão maior ou igual ao tamanho da matriz menos o índice da respectiva linha.
No trecho de código a seguir uma matriz 5 por 5 é preenchida com valores aleatórios e, na sequência, apenas os valores abaixo da diagonal secundária são impressos na tela.
#include <stdio.h> #include <stdlib.h> #include <time.h> /* Como imprimir os elementos abaixo da diagonal secundária? Código escrito por Wagner Gaspar Outubro de 2021 */ int main(){ const TAM = 5; int i, j, mat[TAM][TAM]; srand(time(NULL)); for(i = 0; i < TAM; i++){ for(j = 0; j < TAM; j++) mat[i][j] = rand() % 100; } // Imprimir elementos abaixo da diagonal secundária for(i = 0; i < TAM; i++){ for(j = 0; j < TAM; j++){ if(j >= TAM - i) printf(" %2d ", mat[i][j]); else printf(" "); } printf("\n"); } return 0; }