Informática, perguntado por otavioluiz2014oyhxds, 1 ano atrás

Gere matriz 4 x 4 com valores no intervalo [1, 20]. Escreva um programa que transforme
a matriz gerada numa matriz triangular inferior, ou seja, atribuindo zero a todos os elementos
acima da diagonal principal. Imprima a matriz original e a matriz transformada.
Linguagem C

Soluções para a tarefa

Respondido por bokomoko
6
Já tinha feito em python. Obrigado pela oportunidade de ajudá-lo.

Segue em C

#include <stdio.h>
/*
Gere matriz 4 x 4 com valores no intervalo [1, 20]. 
Escreva um programa que transforme
a matriz gerada numa matriz triangular inferior, 
ou seja, atribuindo zero a todos os elementos
acima da diagonal principal. 
Imprima a matriz original e a matriz transformada.
*/
void imprime( int a[][4] ) {
  int i,j;
  for (i=0;i<4;i++){
    for (j=0;j<4;j++){
        printf("%6d",a[i][j]);
    };
    printf("\n");
  };
  printf("\n");
};

int main () {
  int v[4][4];
  int i,j;
// carrega a matriz com números aleatórios entre 1 e 20
  for (i=0;i<4;i++) {
    for (j=0;j<4;j++) {
       v[i][j] = (rand() % 20) +1 ;
    }
  };
  printf("\nImprimir a matriz original\n");
  imprime(&v);

// faz a triangular inferior zerando o que está acima da diag principal
  for (i=0;i<4;i++) {
    for (j=i+1;j<4;j++)
      v[i][j] = 0;
  };
  printf("\nvai imprimir a triangular inferior\n");
  imprime(&v);
}

pode rodá-lo aqui
https://repl.it/@bokomoko/triangular-inferior-em-c

Perguntas interessantes