Prévia do material em texto
Aula 4 = Conceitos iniciais, definição e utilização de Matrizes em C Exemplos Linguagem C Exemplo 1 A seguir, apresentamos um exemplo completo de um programa em linguagem C que trabalha com matriz bidimensional. O programa cria uma matriz 3X4 de valores inteiros e solicita os seus dados ao usuário, calcula a soma dos elementos da matriz e apresenta os dados da matriz e a soma na calculada. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. #include <stdio.h> #include <stdlib.h> // utiliza constante simbólica para definir a quantidade de linhas #define LINHAS 3 // utiliza constante simbólica para definir a quantidade de colunas #define COLUNAS 4 main () { // declaração da matriz int matriz[LINHAS][COLUNAS]; // i representa a linha e j representa a coluna int i, j; // leitura dos dados para a matriz for (i = 0; i < LINHAS; i++) { // vai de 0 até a quantidade de linhas - 1 for (j = 0; j < COLUNAS; j++) { // vai de 0 até a quantidade de colunas printf ("matriz[%d][%d]: ", i, j); scanf ("%d", &matriz[i][j]); } } // calcula a soma dos valores e apresenta os dados da matriz int soma = 0; for (i = 0; i < LINHAS; i++) { for (j = 0; j < COLUNAS; j++) { soma += matriz[i][j]; printf ("%d ", matriz[i][j]); } printf ("\n"); } printf ("\nSoma = %d\n", soma); system ("PAUSE"); } Exemplo 2 Aula 4 = Conceitos iniciais, definição e utilização de Matrizes em C Exemplos Linguagem C Vamos estudar outro exemplo de utilização de matriz. o enunciado é: Criar um programa que crie e inicialize uma matriz de elementos inteiros de acordo com a tabelo abaixo. Apresentar os elementos da matriz na tela 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. #include <stdio.h> #include <stdlib.h> #define LINHAS 3 #define COLUNAS 5 main () { // declaração e inicialização da matriz int matriz[LINHAS][COLUNAS] = { {3, 5, 2, 1, 10}, {15, 12, 18, 4, 6}, {7, 9, 13, 16, 20} }; // apresentação dos dados da matriz int i, j; printf ("*** Dados da Matriz ***\n\n"); for (i = 0; i < LINHAS; i++) { for (j = 0; j < COLUNAS; j++) { printf ("%2d ", matriz[i][j]); } printf ("\n"); } system ("PAUSE"); } Exemplo 3 Aula 4 = Conceitos iniciais, definição e utilização de Matrizes em C Exemplos Linguagem C Neste exemplo, o programa faz a leitura de uma matriz 5X5 de elementos inteiros, calcula e apresenta a soma da diagonal principal. Além disso apresenta, também, os elementos da matriz 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. #include <stdio.h> #include <stdlib.h> #define LINHAS 5 #define COLUNAS 5 main () { // declara a matriz int matriz[LINHAS][COLUNAS]; int i, j; // lê os dados para a matriz printf ("*** Informe os dados da matriz ***\n"); for (i = 0; i < LINHAS; i++) { for (j = 0; j < COLUNAS; j++) { printf ("Valor[%d][%d]: ", i, j); scanf ("%d", &matriz[i][j]); } } // calcula a soma da diagonal principal e // apresenta os dados da matriz na tela int soma = 0; printf ("\n*** Dados da Matriz ***\n\n"); for (i = 0; i < LINHAS; i++) { for (j = 0; j < COLUNAS; j++) { printf ("%d ", matriz[i][j]); // se o índice da linha é igual ao da coluna, // então o elemento está na diagonal principal. if (i == j) { soma += matriz[i][j]; } } printf ("\n"); } printf ("\nSoma = %d\n\n", soma); system ("PAUSE"); } Exemplo 4 Aula 4 = Conceitos iniciais, definição e utilização de Matrizes em C Exemplos Linguagem C Neste exemplo, o programa faz a leitura de uma matriz 5X3 de elementos reais, calcula e apresenta a média dos valores que estão acima de 20,75; apresenta, também, os elemntos da matriz 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. #include <stdio.h> #include <stdlib.h> #define LINHAS 5 #define COLUNAS 3 main () { // declara a matriz float matriz[LINHAS][COLUNAS]; int i, j; // lê os dados para a matriz printf ("*** Informe os dados da matriz ***\n"); for (i = 0; i < LINHAS; i++) { for (j = 0; j < COLUNAS; j++) { printf ("Valor[%d][%d]: ", i, j); scanf ("%f", &matriz[i][j]); } } // soma os elementos superiores a 20,75 // guarda a quantidade de elementos somados // apresenta os dados da matriz na tela float soma = 0; int quantidade = 0; printf ("\n*** Dados da Matriz ***\n\n"); for (i = 0; i < LINHAS; i++) { for (j = 0; j < COLUNAS; j++) { printf ("%.2f ", matriz[i][j]); if (matriz[i][j] > 20.75) { soma += matriz[i][j]; quantidade++; } } printf ("\n"); } float media = 0; if (quantidade > 0) { media = soma / quantidade; } printf ("\nMedia = %.2f\n\n", media); system ("PAUSE"); }