diegomrodrigues

Utilizar matrizes com a soma das diagonais principais

Mar 19th, 2020
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.74 KB | None | 0 0
  1. /**
  2.  * Utilizar matrizes com a soma das diagonais principais
  3.  * Diego Mendes Rodrigues
  4.  */
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7.  
  8. #define TAMANHO 3
  9.  
  10. /**
  11.  * Colocar valores com números aleatórios nas posições de uma matriz
  12.  */
  13. void preencher(int matriz[TAMANHO][TAMANHO]) {
  14.   int i, j;
  15.    
  16.     for(i=0;i<TAMANHO;i++) {
  17.         for(j=0;j<TAMANHO;j++) {
  18.           matriz[i][j] = (rand() % 100) + 1;
  19.         }
  20.     }
  21. }
  22.  
  23. /**
  24.  * Imprimir uma matriz na tela
  25.  */
  26. void imprimir(int matriz[TAMANHO][TAMANHO], int numero) {
  27.   int i, j;
  28.    
  29.   printf("Matriz %d\n--------\n", numero);
  30.     for(i=0;i<TAMANHO;i++) {
  31.         for(j=0;j<TAMANHO;j++) {
  32.             printf("%d ", matriz[i][j]);
  33.         }
  34.         printf("\n");
  35.     }
  36.   printf("\n");
  37. }
  38.  
  39. /**
  40.  * Imprimir os valores da diagonal principal de uma matriz
  41.  * Retorna a soma da diagonal principal
  42.  */
  43. int diagonal(int matriz[TAMANHO][TAMANHO], int numero) {
  44.   int i, soma = 0;
  45.  
  46.   printf("Diagonal da Matriz %d\n--------------------\n", numero);
  47.   for(i=0;i<TAMANHO;i++) {
  48.     printf("%d \n", matriz[i][i]);
  49.     soma += matriz[i][i];
  50.   }
  51.   printf("\n");
  52.  
  53.   return soma;
  54. }
  55.  
  56. /**
  57.  * Função principal do sistema
  58.  */
  59. int main(void) {
  60.   int matriz1[TAMANHO][TAMANHO], matriz2[TAMANHO][TAMANHO];
  61.   int i, j, soma1, soma2;
  62.    
  63.   /* Colocar valores com números aleatórios nas matrizes */
  64.   preencher(matriz1);
  65.   preencher(matriz2);
  66.  
  67.   /* Exibir na tela as matrizes */
  68.   imprimir(matriz1, 1);
  69.   imprimir(matriz2, 2);
  70.  
  71.   /* Imprimir a diagonal principal de cada atriz */
  72.   soma1 = diagonal(matriz1, 1);
  73.   soma2 = diagonal(matriz2, 2);
  74.  
  75.   /* Imprimir a soma das diagonais das matrizes */
  76.   printf("Soma da diagonal principal da matriz 1 = %d\n", soma1);
  77.   printf("Soma da diagonal principal da matriz 2 = %d\n", soma2);
  78.  
  79.   return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment