Buscar

Trabalho de Matrizes-Programação para engenharia

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Universidade Federal do Ceará - UFC 
Centro de ciências – CC 
Departamento de Computação – DC 
Fundamentos de Programação 
 
Exercício: Estrutura de Repetição 
Objetivos: Introduzir as principais estruturas de repetição. 
 ALICE BARROS FREIRE Matrícula: 471490 
JOSE LUCAS SIQUEIRA FREITAS Matrícula: 475167 
JULYANA XAVIER MARTINS Matrícula: 485324 
1) 
#include<stdio.h> 
int main() 
{ 
 int mat[6][3]; 
 int i, j; 
 int maior, menor; 
 printf("Digite uma matriz 6x3:\n"); 
 
 for(i=0; i<6; i++) { 
 for(j=0; j<3; j++) { 
 scanf("%d", &mat[i][j]); 
 } 
 } 
 menor=mat[0][0]; 
 for(i=0; i<6; i++) { 
 for(j=0; j<3; j++) { 
 if(mat[i][j]<menor) { 
 menor=mat[i][j]; 
 } 
 else { 
 maior=mat[i][j]; 
 } 
 } 
 } 
 printf("Maior elemento:%d\n", maior); 
 printf("Menor elemento:%d\n", menor); 
 return 0; 
} 
 
 
 
 
2) 
#include <stdio.h> 
int main() { 
 int i, j, m[4][4]; 
 for (i=0; i<4; i++){ 
 for (j=0; j<4; j++){ 
 scanf("%d",&m[i][j]); 
 } 
 } 
 printf("a diagonal principal eh:"); 
 for (i=0; i<4; i++){ 
 for (j=0; j<4; j++){ 
 if (i==j){ 
 printf("\n[%d][%d]: [%d]\n",i+1, j+1, m[i][j]); 
 } 
 } 
 } 
 return 0; 
} 
 
3) 
#include <stdio.h> 
int main() { 
 int i, j, m[4][4]; 
 printf("carregue linha a linha os elementos da matriz m: \n"); 
 for (i=0; i<4; i++){ 
 for (j=0; j<4; j++){ 
 scanf("%d",&m[i][j]); 
 } 
 } 
 printf("a diagonal secundaria eh:"); 
 for (i=0; i<4; i++){ 
 for (j=0; j<4; j++){ 
 if (j==(4-i-1)){ 
 printf("\n[%d][%d]: [%d]\n",i+1, j+1, m[i][j]); 
 } 
 } 
 } 
 return 0; 
} 
4) 
#include<stdio.h> 
int main() { 
 int mat[4][4]; 
 int i, j; 
 int maior, menor; 
 printf("Digite uma matriz 4x4:\n"); 
 for(i=0; i<4; i++) { 
 for(j=0; j<4; j++) { 
 scanf("%d", &mat[i][j]); 
 } 
 } 
 printf("Matriz sem sua diagonal principal:\n"); 
 for(i=0; i<4; i++) { 
 for(j=0; j<4; j++) { 
 if(i!= j) { 
 printf(" %d", mat[i][j]); 
 } 
 } 
 printf("\n"); 
 } 
 return 0; 
} 
 
5) 
#include <stdio.h> 
#include <math.h> 
int main() { 
 int i, j, m[4][4]; 
 for (i=0; i<4; i++){ 
 for (j=0; j<4; j++){ 
 scanf("%d",&m[i][j]); 
 } 
 } 
 printf("a matriz sem a diagonal secundaria eh:\n"); 
 for (i=0; i<4; i++){ 
 for (j=0; j<4; j++){ 
 if (j!=(4-i-1)){ 
 printf(" %d",m[i][j]); 
 } 
 } 
 printf("\n"); 
 } 
 return 0; 
} 
 
6) 
#include<stdio.h> 
int main (){ 
 int mat[3][5]; 
 int i, j, k; 
 int vet[5]; 
 int lin1, lin2, lin3; 
 printf("Digite uma matriz 3 x 5:\n"); 
 
 for(i=0; i<3; i++) { 
 for(j=0; j<5; j++) { 
 scanf("%d", &mat[i][j]); 
 } 
 } 
 lin1=mat[0][0]+mat[0][1]+mat[0][2]+mat[0][3]+mat[0][4]; 
 lin2=mat[1][0]+mat[1][1]+mat[1][2]+mat[1][3]+mat[1][4]; 
 lin3=mat[2][0]+mat[2][1]+mat[2][2]+mat[2][3]+mat[2][4]; 
 
 vet[0]=lin1; 
 vet[1]=lin2; 
 vet[2]=lin3; 
 printf("%d, %d, %d", vet[0], vet[1], vet[2]); 
 return 0; 
} 
 
7) 
#include<stdio.h> 
#include<stdlib.h> 
#include<math.h> 
int main() { 
 int a[3][2]; 
 int b[2][5]; 
 int i, j, k, temp; 
 int c[2][2]; 
 printf("Digite uma matriz de 3 linhas e 2 colunas a:\n"); 
 for(i=0; i<3; i++) { 
 for(j=0; j<2; j++) { 
 scanf("%d", &a[i][j]); 
 } 
 } 
 printf("Digite uma matriz de 2 linhas 5 colunoas b:\n"); 
 for(i=0; i<2; i++) { 
 for(j=0; j<5; j++) { 
 scanf("%d", &b[i][j]); 
 } 
 } 
 for (i=0;i<2;i++) { 
 for (j=0;j<2;j++) { 
 c[i][j] = 0; 
 } 
 } 
 temp = 0; 
 for (i=0;i<2;i++) { 
 for (j=0;j<2;j++) { 
 for (k=0;k<2;k++) { 
 temp =temp+(a[i][k]*b[k][j]); 
 } 
 c[i][j]=temp; 
 temp=0; 
 } 
 } 
 printf("Produto matricial C:\n"); 
 for(i=0; i<2; i++) { 
 for(j=0; j<2; j++) { 
 printf(" %d", c[i][j]); 
 } 
 printf("\n"); 
 } 
 return 0; 
} 
 
 
 
 
 
 
8) 
#include <stdio.h> 
#include <math.h> 
int main() { 
 int i, j, k, m[3][3]; 
 float det, aux; 
 for (i=0; i<3; i++){ 
 for (j=0; j<3; j++){ 
 scanf("%d",&m[i][j]); 
 } 
 } 
det=0; 
aux=0; 
j=0; 
for (i=0; i<3; i++){ 
 if (i==0){ 
 aux=pow(-1,(i+j+2))*(m[i+1][j+1]*m[i+2][j+2]- m[i+1][j+2]*m[i+2][j+1]); 
 } 
 if (i==1){ 
 aux=pow(-1,(i+j+2))*(m[i-1][j+1]*m[i+1][j+2]- m[i-1][j+2]*m[i+1][j+1]); 
 } 
 if (i==2){ 
 aux=pow(-1,(i+j+2))*(m[i-2][j+1]*m[i-1][j+2]- m[i-2][j+2]*m[i-1][j+1]); 
 } 
 det=det+ (m[i][j]*aux); 
} 
printf("o determinante da matriz eh= %g", det); 
 return 0; 
} 
 
9) 
#include <stdio.h> 
#include <math.h> 
int main (void){ 
 float A[3][3],B[3][3],Cof[3][3],Adj[3][3]; 
 int i,j,k; 
 float det,temp; 
 printf("carregue linha a linha os elementos da matriz A: \n"); 
 for (i=0;i<3;i++){ 
 for (j=0;j<3;j++){ 
 scanf("%f",&A[i][j]); 
 } 
 } 
 j = 0; 
 det = 0; 
 temp = 0; 
 for (i=0;i<3;i++){ 
 if (i == 0){ 
 temp = pow(-1,(i+j+2))*(A[i+1][j+1]*A[i+2][j+2]-A[i+1][j+2]*A[i+2][j+1]); 
 } 
 if (i == 1){ 
 temp = pow(-1,(i+j+2))*(A[i-1][j+1]*A[i+1][j+2]-A[i-1][j+2]*A[i+1][j+1]); 
 } 
 if (i==2) { 
 temp = pow(-1,(i+j+2))*(A[i-2][j+1]*A[i-1][j+2]-A[i-2][j+2]*A[i-1][j+1]); 
 } 
 det+=A[i][j]*temp; 
 } 
 printf("O determinante da matriz A eh: %f",det); 
 if (det == 0) { 
 printf("A matriz não possui inversa, pois seu determinante é nulo!"); 
 } 
 else { 
 //Calculo da matriz de cofatores 
 for (i=0;i<3;i++){ 
 for (j=0;j<3;j++){ 
 
 if (i==0 && j==0) 
 Cof[i][j] = pow(-1,(i+j+2))*(A[i+1][j+1]*A[i+2][j+2]-A[i+1][j+2]*A[i+2][j+1]); 
 if (i==0 && j==1) 
 Cof[i][j] = pow(-1,(i+j+2))*(A[i+1][j-1]*A[i+2][j+1]-A[i+1][j+1]*A[i+2][j-1]); 
 if (i==0 && j==2) 
 Cof[i][j] = pow(-1,(i+j+2))*(A[i+1][j-2]*A[i+2][j-1]-A[i+1][j-1]*A[i+2][j-2]); 
 if (i==1 && j==0) 
 Cof[i][j] = pow(-1,(i+j+2))*(A[i-1][j+1]*A[i+1][j+2]-A[i-1][j+2]*A[i+1][j+1]); 
 if (i==1 && j==1) 
 Cof[i][j] = pow(-1,(i+j+2))*(A[i-1][j-1]*A[i+1][j+1]-A[i-1][j+1]*A[i+1][j-1]); 
 if (i==1 && j==2) 
 Cof[i][j] = pow(-1,(i+j+2))*(A[i-1][j-2]*A[i+1][j-1]-A[i-1][j-1]*A[i+1][j-2]); 
 if (i==2 && j==0) 
 Cof[i][j] = pow(-1,(i+j+2))*(A[i-2][j+1]*A[i-1][j+2]-A[i-2][j+2]*A[i-1][j+1]); 
 if (i==2 && j==1) 
 Cof[i][j] = pow(-1,(i+j+2))*(A[i-2][j-1]*A[i-1][j+1]-A[i-2][j+1]*A[i-1][j-1]); 
 if (i==2 && j==2) 
 Cof[i][j] = pow(-1,(i+j+2))*(A[i-2][j-2]*A[i-1][j-1]-A[i-2][j-1]*A[i-1][j-2]); 
 
 Adj[j][i]= Cof[i][j]; 
 B[j][i] = (Adj[j][i])/det; 
 } 
 } 
 printf("\n A matriz inversa calculada eh: \n"); 
 for (i=0;i<3;i++){ 
 for (j=0;j<3;j++){ 
 printf("%f ",B[i][j]); 
 } 
 printf("\n"); 
 } 
 } 
 return 0; 
} 
 
10) 
#include<stdio.h> 
#include<stdlib.h> 
int main () { 
 int i, j; 
 int n; 
 printf("Digite uma dimensao menor que 10 para a matriz:\n"); 
 scanf("%d",&n); 
 printf("Digite uma matriz de tamanho %d x %d :\n", n, n); 
 int mat[n][n]; 
 for(i=0; i<n; i++) { 
 for(j=0; j<n; j++) { 
 scanf(" %d", &mat[i][j]); 
 } 
 } 
 int trans[i][j]; 
 for (i=0; i<n; i++) { 
 for (j=0; j<n; j++) { 
 trans[i][j]=mat[j][i]; 
 } 
 } 
 printf("Matriz transposta:\n"); 
for(i=0; i<n; i++) { 
 for(j=0; j<n; j++) { 
 printf(" %d", trans[i][j]); 
 } 
 printf("\n"); 
 } 
 return 0; 
} 
 
11) 
#include<stdio.h> 
int main (void){ 
 int n; 
 printf("digite o valor de n: "); 
 scanf("%d", &n); 
 int m[n][n], mt[n][n], i, j; 
int sim=1; 
printf("Digite a matriz\n"); 
for(i=0;i <n;i++){ 
 for(j=0;j<n;j++){ 
 scanf("%d", &m[i][j]); 
 } 
} 
for(i=0;i <n;i++){ 
 for(j=0;j<n;j++){ 
 mt[i][j]=m[j][i]; 
 } 
} 
for(i=0;i <n;i++){ 
 for(j=0;j<n;j++){ 
 if (mt[i][j]!=m[i][j]){ 
 sim=0; 
 } 
 } 
} 
 if (sim==0){ 
 printf ("nao eh simetrica"); 
} 
else{ 
 printf("sim, eh simetrica"); 
 } 
return(0); 
} 
 
12) 
#include<stdio.h> 
int main (void){ 
 int n; 
 printf("digite o valor de n: "); 
 scanf("%d", &n); 
int m[n][n], mt[n][n], i, j; 
int sim=1; 
printf("Digite a matriz\n"); 
for(i=0;i <n;i++){ 
 for(j=0;j<n;j++){ 
 scanf("%d", &m[i][j]); 
 } 
} 
for(i=0;i <n;i++){ 
 for(j=0;j<n;j++){ 
 mt[i][j]=m[j][i]; 
 m[j][i]=-m[j][i]; 
 } 
} 
for(i=0;i <n;i++){ 
 for(j=0;j<n;j++){ 
 if (mt[i][j]!=m[i][j]){ 
 sim=0; 
 } 
 } 
} 
 if (sim==0){ 
 printf ("nao eh anti-simetrica"); 
} 
else{ 
 printf("sim, eh anti-simetrica"); 
 } 
return(0); 
} 
13) 
#include<stdio.h> 
#include<stdlib.h> 
int main () { 
 int mat[3][3]; 
 int i, j; 
 int somaD_principal, somaD_secundaria; 
 int lin1, lin2, lin3, lin_tot, col1, col2, col3, col_tot; 
 printf("Digite uma matriz 3x3:\n"); 
 for(i=0; i<3; i++) { 
 for(j=0; j<3; j++) { 
 scanf("%d", &mat[i][j]); 
 } 
 } 
 somaD_principal=(mat[0][0]+mat[1][1]+mat[2][2]); 
 somaD_secundaria=(mat[0][2]+mat[1][1]+mat[2][0]); 
 
 lin1=(mat[0][0]+mat[0][1]+mat[0][2]); 
 lin2=(mat[1][0]+mat[1][1]+mat[1][2]); 
 lin3=(mat[2][0]+mat[2][1]+mat[2][2]); 
 lin_tot=lin1+lin2+lin3; 
 col1=(mat[0][0]+mat[1][0]+mat[2][0]); 
 col2=(mat[0][1]+mat[1][1]+mat[2][1]); 
 col3=(mat[0][2]+mat[1][2]+mat[2][2]); 
 
 col_tot=col1+col2+col3; 
 if ((somaD_principal==somaD_secundaria) && (lin1==lin2)&&(lin3==col1) 
&&(col2==col3)) { 
 printf("A matriz eh um quadrado magico!"); 
 } 
 else { 
 printf("A matriz nao eh um quadrado magico."); 
 } 
 return 0; 
} 
 
 
 
 
 
 
 
 
 
14) 
#include<stdio.h> 
int main (void){ 
int m[3][3], mf[3][3], i, j; 
 
for(i=0;i <3;i++){ 
 for(j=0;j<3;j++){ 
 scanf("%d", &m[i][j]); 
 } 
} 
for(i=0;i <3;i++){ 
 for(j=0;j<3;j++){ 
 mf[j][3-i-1]=m[i][j]; 
 } 
} 
printf("apos girar 90 graus:\n"); 
for(i=0;i <3;i++){ 
 for(j=0;j<3;j++){ 
 printf(" %d", mf[i][j]); 
 } 
 printf("\n"); 
} 
return(0); 
} 
 
15) 
#include <stdio.h> 
#include <math.h> 
int main (void){ 
 int m[3][3],mf[3][3]; 
 int i,j; 
printf("carregue linha a linha os elementos da matriz A: \n"); 
 for (i=0;i<3;i++){ 
 for (j=0;j<3;j++){ 
 scanf("%d",&m[i][j]); 
 } 
 } 
 for(i=0;i<3;i++) { 
 printf("\n"); 
 if(i==0){ 
 for(j=2;j>=0;j--){ 
 printf(" %d ", m[2][j]); 
} 
} 
if(i==1){ 
 for(j=2;j>=0;j--){ 
printf(" %d ", m[1][j]); 
} 
} 
if(i==2){ 
for(j=2;j>=0;j--){ 
printf(" %d ", m[0][j]); 
} 
} 
} 
return (0); 
} 
 
16) 
#include<stdio.h> 
int main (void) 
{ 
 int m[3][3], mf[3][3]; 
 int i, j; 
 printf("Digite uma matriz 3 x 3:\n"); 
 for(i=0;i <3;i++) { 
 for(j=0;j<3;j++) { 
 scanf("%d", &m[i][j]); 
 } 
 } 
 for(i=0;i <3;i++) { 
 for(j=0;j<3;j++) { 
 mf[3-j-1][i] = m[i][j]; 
 } 
 } 
 printf("apos girar 270 graus:"); 
 for(i=0;i <3;i++) { 
 for(j=0;j<3;j++) { 
 printf("\nelemento [%d] [%d]: %d\n",i,j, mf[i][j]); 
 } 
 } 
 return(0); 
} 
 
17) 
#include<stdio.h> 
int main (void){ 
int i, j; 
float m[12][4], totsem, totmes, totano; 
 
for(i=0;i <12;i++){ 
 for(j=0;j<4;j++){ 
 scanf("%f", &m[i][j]); 
 } 
} 
totano=0; 
for(i=0;i <12;i++){ 
 totmes=0; 
 for(j=0;j<4;j++){ 
 totmes=totmes+m[i][j]; 
 } 
 printf("\ntotal do mes %d = %.2f", i+1, totmes); 
 totano=totano+totmes; 
} 
printf("\n"); 
for (j=0; j<4; j++){ 
 totsem=0; 
 for (i=0; i<12; i++){ 
 totsem=totsem+m[i][j]; 
 } 
 printf("\ntotal da semana %d = %.2f", j+1, totsem); 
} 
printf("\n"); 
printf("\ntotal do ano= %f", totano); 
return(0); 
} 
 
 
 
 
 
 
 
 
18) 
#include<stdio.h> 
#include<math.h> 
int main(void){ 
int M[10][4],setp[10]; 
int i,j,que,nota_ref,q_nota_ref; 
printf("Carregue os dados dos 10 alunos [matricula,sexo,cod_curso,cr:\n"); 
 
for (i=0;i<10;i++){ 
 for (j=0;j<4;j++){ 
 scanf("%d",&M[i][j]); 
 } 
} 
printf("\nDigite o codigo do curso do qual deseja saber o melhor aluno: "); 
scanf("%d",&que); 
nota_ref = 0; 
q_nota_ref = 0; 
for (i=0;i<10;i++){ 
 if (M[i][2]==que){ 
 if (M[i][3] == nota_ref && nota_ref != 0){ 
 q_nota_ref+=1; 
 setp[q_nota_ref] = M[i][0]; 
 } 
 if (M[i][3] > nota_ref){ 
 nota_ref = M[i][3]; 
 q_nota_ref = 0; 
 setp[q_nota_ref] = M[i][0]; 
 } 
 } 
} 
printf("Lista dos melhores alunos do curso %d: \n",que); 
for (i=0;i<=q_nota_ref;i++) 
 printf("Matricula = %d\n",setp[i]); 
return 0; 
}

Outros materiais