Guest User

ddddddddddddd

a guest
Oct 21st, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.10 KB | None | 0 0
  1. #include <stdio.h>
  2. #define MAXL 200
  3. #define MAXC 200
  4.  
  5. void numLC(int *l, int *c){ //informa o núm. de linhas e colunas.
  6.     printf("informe o numero de linhas: ");
  7.     scanf("%d", l);
  8.     printf("informe o numero de colunas: ");
  9.     scanf("%d", c);
  10. }
  11.  
  12. void leMatriz(int matriz[][MAXC], int l, int c){ //lê a matriz.
  13.     for(int i = 0; i < l; i++){
  14.         for(int j = 0; j < c; j++){
  15.             printf("linha [%d] | coluna [%d]: ", i, j);
  16.             scanf("%d", &matriz[i][j]);
  17.         }
  18.     }
  19. }
  20.  
  21. void printMatriz(int matriz[][MAXC], int l, int c){ //printa a matriz informada.
  22.     printf("\nMATRIZ INFORMADA:\n\n");
  23.     for(int i = 0; i < l; i++){
  24.         for(int j = 0; j < c; j++){
  25.             printf("%4d", matriz[i][j]);
  26.         }
  27.         printf("\n");
  28.     }
  29. }
  30.  
  31. void somaUpDP(int matriz[][MAXC], int l, int c, int *soma, int *cont){ //realiza a soma dos elementos ACIMA da DIAGONAL PRINCIPAL.
  32.     for(int i = 0; i < l; i++){
  33.         for(int j = 0; j < c; j++){
  34.             if(j > i){
  35.                 *soma+=matriz[i][j]; //soma os elementos acima da D.P.
  36.                 *cont = *cont + 1; //pega o tanto de elementos acima da D.P (necessário p/ média).
  37.                 //*cont++ não funciona (?).
  38.             }
  39.         }
  40.     }
  41. }
  42.  
  43. void operacao(char op, int soma, int cont){ //informa a soma ou a média dos elementos acima da D.P.
  44.     int media;
  45.  
  46.     if(op == 'S' || op == 's'){
  47.         printf("\nsoma dos elementos [j>i]: %d\n", soma);
  48.     }else if(op == 'M' || op == 'm'){
  49.         media = soma/cont;
  50.         printf("\nmedia dos elementos [j>i]: %d\n", media);
  51.     }
  52. }
  53.  
  54. int main(){
  55.     int l, c;
  56.     int matriz[MAXL][MAXC];
  57.  
  58.     numLC(&l, &c);
  59.     leMatriz(matriz, l, c);
  60.     printMatriz(matriz, l, c);
  61.  
  62.     int soma = 0, cont = 0;
  63.     char OP;
  64.  
  65.     printf("\nescolha uma operacao p/ ser feita com os elementos acima da DIAGONAL PRINCIPAL.\nS = soma | M = media: ");
  66.     scanf("%s", &OP);
  67.  
  68.     somaUpDP(matriz, l, c, &soma, &cont);
  69.     //printf("\nsoma teste = %d", soma);
  70.     //printf("\nnum elementos teste = %d", cont);
  71.     operacao(OP, soma, cont);
  72.     return 0;
  73. }
Add Comment
Please, Sign In to add comment