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
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
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
Matemática,
8 meses atrás
Matemática,
8 meses atrás
Química,
8 meses atrás
Matemática,
1 ano atrás
Física,
1 ano atrás