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;
}
