Seja muito bem vindo à aula 122 do nosso curso gratuito de programação com a linguagem C.
Hoje, no exercício 12, vamos fazer um programa para imprimir a diagonal secundária de uma matriz 7 x 7 com a linguagem C.
12) Faça um programa que imprima na tela a diagonal secundária de uma matriz 7 x 7.
Um ponto importante na resolução deste exercício é perceber que apenas uma repetição é suficiente para imprimir a diagonal secundária. Uma boa estratégia é rabiscar uma matriz no papel e, para cada elemento da diagonal secundária, identificar seus respectivos índices de linha e coluna. Isso ajuda a entender a pequena fórmula [ tam – 1 – l ], ou seja, tamanho da matriz menos 1 menos o índice da linha atual.
#include <stdio.h> #include <stdlib.h> int main() { int tam = 10; int l, c, mat[tam][tam]; srand(time(NULL)); // preenche a matriz gerando valores aleatórios for(l = 0; l < tam; l++){ for(c = 0; c< tam; c++){ mat[l][c] = rand() % 100; } } // imprime a matriz na tela for(l = 0; l < tam; l++){ for(c = 0; c< tam; c++){ printf("%2d ", mat[l][c]); } printf("\n"); } printf("\n\nDiagonal principal: "); for(l = 0; l < tam; l++){ printf("%d ", mat[l][l]); } printf("\n\nDiagonal secundaria: "); for(l = 0; l < tam; l++){ printf("%d ", mat[l][tam - 1 - l]); } printf("\n\n"); return 0; }