Baixe o app para aproveitar ainda mais
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; }
Compartilhar