INF1005 - PROGRAMAÇÃO 1  
LISTA DE EXERCÍCIOS 12  
1
. Faça um programa para ler uma matriz digitada pelo usuário (tamanho 3x3) e exibir uma  
mensagem dizendo se a mesma é uma matriz identidade ou não. O seu programa deve  
implementar e utilizar a função matriz_identidade, que recebe como parâmetro  
uma matriz quadrada de inteiros de dimensão n, e retorna 1 se a matriz for uma matriz  
identidade, e 0 caso contrario. A função deve obedecer ao seguinte protótipo:  
int matriz_identidade(int mat[][N], int n);  
Lembre-se que uma matriz é considerada identidade quando os elementos da diagonal  
principal são todos iguais a 1 e os elementos restantes são iguais a zero.  
2
3
. Faça um programa para ler uma matriz do arquivo matriz.txt (tamanho 5x5), e em  
seguida calcular e exibir produto dos elementos da diagonal principal da matriz. O seu  
programa deve implementar e utilizar a função produto_diagonal, que recebe como  
parâmetro uma matriz quadrada de float de dimensão n, e retorna o produto da diagonal  
principal. A função deve obedecer ao seguinte protótipo:  
float produto_diagonal(float mat[][N], int n);  
. Escreva um programa para ler o conteúdo do arquivo "notas.txt", que contem as 3 notas  
obtidas por cada aluno em uma disciplina. O formato do arquivo é o seguinte:  
O programa deve armazenar as notas dos alunos em uma matriz, e implementar e utilizar  
as funções aprovadose reprovados, que recebem como parâmetro a matriz com as  
notas dos alunos e retornam o número de alunos aprovados/reprovados. As funções  
devem obedecer aos seguintes protótipos:  
int aprovados(int n, float notas [][3])  
int reprovados(int n, float notas [][3])  
O seu programa também deve implementar e utilizar a função media_alunos, que  
recebe como parâmetro a matriz de notas e um vetor para ser preenchido com a media  
dos alunos. A função deve obedecer ao seguinte protótipo:  
void media_alunos(int n, float notas [][3], float media[])  
4
. Faça um programa para ler uma matriz do arquivomatriz.txt(tamanho 5x5) e exibir uma  
mensagem dizendo se a mesma é uma matriz triangular superior, uma matriz triangular  
inferior ou nenhum dos casos. O seu programa deve implementar e utilizar a função  
triangular_superior_inferior, que recebe como parâmetro uma matriz  
quadrada de inteiros de dimensão n, e retorna 1 se a matriz for uma matriz triangular  
superior, 2 se a matriz for uma matriz triangular inferior, e 0 caso contrario. A função deve  
obedecer ao seguinte protótipo:  
int triangular_superior_inferior(int mat[][N], int n);  
Lembre-se que uma matriz é considerada triangular superior quando todos os elementos  
abaixo da diagonal principal são iguais a zero, e triangular inferior quando todos os  
elementos acima da diagonal principal são iguais a zero.  
5
. Faça um programa para ler uma matriz do arquivo matriz.txt (tamanho 5x5), e em  
seguida calcular e exibir a soma dos elementos acima e abaixo da diagonal principal da  
matriz. O seu programa deve implementar e utilizar as funções soma_superior e  
soma_inferior, que recebem como parâmetro uma matriz quadrada de float de  
dimensão n, e retornam a soma dos elementos acima/abaixo da diagonal principal. As  
funções devem obedecer aos seguintes protótipos:  
float soma_superior(float mat[][N], int n);  
float soma_inferior(float mat[][N], int n);