Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lista de exercícios – Vetores e matrizes Professor: Fernando Camilo Paes Aluno: Tiago Vinícius Soares de Paula Matrícula: 441913 1. Ler uma matriz quadrada de tamanho 5x5 contendo valores reais e imprimir o produto dos elementos situados nas linhas pares da diagonal secundária. #include <stdio.h> #include <stdlib.h> int main() { int i,j; float matriz[5][5],produto; printf("\nDigite valores para preencher a matriz :\n\n"); for(i = 0; i < 5; i++) for(j = 0; j < 5; j++) { printf("matriz[%i][%i] = ",i,j); scanf("%f",&matriz[i][j]); } produto = 1; for(i = 0; i < 5; i++) for(j = 0; j < 5; j++) { if ( i + j == 4 && i %2 == 0) produto = produto * (matriz[i][j]); } printf("\nProduto dos elementos situados nas linhas pares da diagonal secundaria : \n%.2f\n",produto); return 0; } 2. Ler uma matriz quadrada de tamanho 3x3 e imprimir o produto dos elementos pares situados na terceira coluna da matriz. #include <stdio.h> #include <stdlib.h> int main() { int matriz[3][3],i,j,produto; printf("\nDigite valores inteiros para a matriz :\n\n"); for(i = 0; i < 3; i++) for(j = 0; j < 3; j++) { printf("mat[%i][%i] = ",i,j); scanf("%i",&matriz[i][j]); } produto = 1; for(i = 0; i < 3; i++) for (j = 0; j < 3; j++) { if ( matriz[i][j]%2 == 0 && j == 2 ) produto = produto * (matriz[i][j]); } printf("\nO produto dos elementos pares da terceira coluna : %i\n\n",produto); return 0; } 3. Ler uma matriz quadrada de tamanho 4x4 e copiar para um vetor de tamanho adequado, os elementos ímpares da matriz. Imprimir o vetor e a matriz. #include <stdio.h> #include <stdlib.h> int main() { int matriz[4][4],i,j,tamanho; printf("\nDigite valores inteiros para preencher a matriz :\n\n"); for (i = 0; i < 4; i++) for (j = 0; j < 4; j++) { printf("matriz[%i][%i] = ",i,j); scanf("%i",&matriz[i][j]); } tamanho = 0; for (i = 0; i < 4; i++) for (j = 0; j < 4; j++) { if (matriz[i][j] %2 == 1) tamanho = tamanho + 1; } int vetor[tamanho],t; t = 0; for (i = 0; i < 4; i++) for (j = 0; j < 4; j++) { if (matriz[i][j] %2 == 1) { vetor[t] = matriz[i][j]; t++; } } printf("\n Matriz digitada : \n\n"); for (i = 0; i < 4;i++) { for (j = 0; j < 4; j++) printf("%i\t",matriz[i][j]); printf("\n"); } printf("\n\n Vetor de elementos impares : \n\n"); for ( t = 0; t < tamanho; t++) { printf("%i\t",vetor[t]); } printf("\n"); return 0; } 4. Ler um vetor de tamanho 5 contendo valores inteiros e copia-lo para a diagonal principal de uma matriz quadrada de tamanho 5x5, previamente, preenchida com zeros. Imprimir a matriz e o vetor. #include <stdio.h> #include <stdlib.h> int main() { int vetor[5],t,i; printf("Digite valores inteiros para preencher o vetor \n"); for(i = 0; i < 5; i++) { printf("vetor[%i] = ",i); scanf("%i",&vetor[i]); } int matriz[5][5],j; for (i = 0; i < 5; i++) for(j = 0; j < 5; j++) { matriz[i][j] = 0; } t = 0; for(i = 0;i < 5;i++) { matriz[i][i] = vetor[t]; t++; } printf("\n\n Vetor digitado\n\n"); for(i = 0; i < 5; i++) { printf("%i\t",vetor[i]); } printf("\n"); printf("\n Matriz resultante\n\n"); for(i = 0; i < 5; i++) { for(j = 0; j < 5; j++) printf("%i\t",matriz[i][j]); printf("\n"); } return 0; } 5. Preencher a matriz abaixo usando as relações entre linhas e colunas, sem usar atribuição direta, usando as relações entre linhas e colunas de uma matriz em relação às diagonais. Imprimir a matriz criada 0 1 2 3 1 1 2 3 1 4 2 3 1 4 5 3 1 4 5 6 1 4 5 6 0 #include <stdio.h> #include <stdlib.h> int main() { int i,j,matriz[5][5]; for (i = 0; i < 5; i++) for(j = 0; j < 5; j++) { { if (i + j == 4) matriz[i][j] = 1; else if(i + j == 3) matriz[i][j] = 3; else if(i + j == 2) matriz[i][j] = 2; else if(i + j == 1) matriz[i][j] = 1; else if(i + j == 0) matriz[i][j] = 0; else if( i + j == 5) matriz[i][j] = 4; else if(i + j == 6) matriz[i][j] = 5; else if(i + j == 7) matriz[i][j] = 6; else if(i + j == 8) matriz[i][j] = 0; } } printf("A matriz criada eh : \n\n"); for (i = 0; i < 5; i++) { for(j = 0; j < 5; j++) { printf("%i\t",matriz[i][j]); } printf("\n"); } return 0; } 6. Ler uma matriz quadrada de tamanho 5x5 e imprimir sua transposta. #include <stdio.h> #include <stdlib.h> int main() { int matriz[5][5],i,j; printf("\nDigite valores inteiros para preencher a matriz :\n\n"); for(i = 0; i < 5; i++) for(j = 0; j < 5; j++) { printf("Matriz[%i][%i] = ",i,j); scanf("%i",&matriz[i][j]); } printf("\n Matriz digitada : \n\n"); for(i = 0; i < 5; i++) { for(j = 0; j < 5; j++) printf("%i\t",matriz[i][j]); printf("\n"); } printf("\n Matriz transposta da matriz digitada : \n\n"); for(i = 0; i < 5; i++) { for(j = 0; j < 5; j++) printf("%i\t",matriz[j][i]); printf("\n"); } return 0; } 7. Ler um vetor contendo 20 valores inteiros e imprimir a soma dos elementos ímpares e o produto dos elementos múltiplos de 5 deste vetor. #include <stdio.h> #include <stdlib.h> int main() { int vetor[20],t,soma,produto; soma = 0; produto = 1; printf("Digite valores inteiros para preencher o vetor \n"); for(t = 0; t < 20; t++) { printf("vetor[%i] = ",t); scanf("%i",&vetor[t]); if(vetor[t]%2 == 1) soma = soma + vetor[t]; if(vetor[t]%5 == 0) produto = produto * vetor[t]; } printf(" Soma dos numeros impares = %i\n\n",soma); printf(" Produto dos multiplos de 5 = %i\n",produto); return 0; } 8. Ler um vetor de tamanho 16 contendo valores reais e imprimir o produto dos elementos situados nas posições pares do vetor. #include <stdio.h> #include <stdlib.h> int main() { int i; float vetor[16],produto; printf("Digite valores reais para o vetor : \n"); for(i = 0; i < 16; i ++) { printf("vetor[%i] = ",i); scanf("%f",&vetor[i]); } produto = 1; for(i = 0; i < 16; i++) { if( i %2 == 0) produto = produto * vetor[i]; } // %.2f = apresenta apenas duas casas após a vírgula na resposta. printf("Produto dos elementos de posicao par : %.2f\n",produto); return 0; } 9. Ler um vetor de tamanho 25 contendo valores inteiros e imprimir o produto dos elementos que sejam números perfeitos (são números em que a soma de seus divisores é igual a ele próprio ex: 28 =1+2+4+7+14). #include <stdio.h> #include <stdlib.h> int main() { int vetor[25],i,j,soma,produto; soma = 0; produto = 1; printf("Digite valores inteiros para o vetor : \n"); for(i = 0; i < 25; i++) { printf("vetor[%i] = ",i+1); scanf("%i",&vetor[i]); } // Para cada numero em vetor for(i = 0; i < 25; i++) { // Verifica os divisores for(j = vetor[i]-1; j >= 1; j--) { if(vetor[i] % j == 0) soma = soma + j; } // Se for numero perfeito if(vetor[i] == soma) produto = produto * soma; soma = 0; } printf("Produto dos numeros perfeitos : %.i\n",produto); return 0; } 10. Armazenar em um vetor de tamanho 16 os 16 primeiros elementos da série: 1 1 2 3 4 9 8 27 ... Imprimir o vetor criado. #include <stdio.h> #include <stdlib.h> int main() { int t,vetor[16]; for(t = 0; t < 16; t ++) { if(t == 0 || t == 1) vetor[t] = 1; else if(t== 2 ) vetor[t] = 2; else if(t == 3) vetor[t] = 3; else if (t %2 == 0 && t > 2) // Garante a sequência par a partir do número 2. vetor[t] = vetor[t - 2] * 2; else if(t %2 == 1 && t > 3) // Garante a sequência ímpar a partir do número 3. vetor[t] = vetor[t - 2] * 3 ; } printf(" Vetor criado : \n\n"); for(t = 0; t < 16; t++) printf("%i\t",vetor[t]); printf("\n"); return 0; }
Compartilhar