Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define MAXL 200
- #define MAXC 200
- void numLC(int *l, int *c){ //informa o núm. de linhas e colunas.
- printf("informe o numero de linhas: ");
- scanf("%d", l);
- printf("informe o numero de colunas: ");
- scanf("%d", c);
- }
- void leMatriz(int matriz[][MAXC], int l, int c){ //lê a matriz.
- for(int i = 0; i < l; i++){
- for(int j = 0; j < c; j++){
- printf("linha [%d] | coluna [%d]: ", i, j);
- scanf("%d", &matriz[i][j]);
- }
- }
- }
- void printMatriz(int matriz[][MAXC], int l, int c){ //printa a matriz informada.
- printf("\nMATRIZ INFORMADA:\n\n");
- for(int i = 0; i < l; i++){
- for(int j = 0; j < c; j++){
- printf("%4d", matriz[i][j]);
- }
- printf("\n");
- }
- }
- void somaUpDP(int matriz[][MAXC], int l, int c, int *soma, int *cont){ //realiza a soma dos elementos ACIMA da DIAGONAL PRINCIPAL.
- for(int i = 0; i < l; i++){
- for(int j = 0; j < c; j++){
- if(j > i){
- *soma+=matriz[i][j]; //soma os elementos acima da D.P.
- *cont = *cont + 1; //pega o tanto de elementos acima da D.P (necessário p/ média).
- //*cont++ não funciona (?).
- }
- }
- }
- }
- void operacao(char op, int soma, int cont){ //informa a soma ou a média dos elementos acima da D.P.
- int media;
- if(op == 'S' || op == 's'){
- printf("\nsoma dos elementos [j>i]: %d\n", soma);
- }else if(op == 'M' || op == 'm'){
- media = soma/cont;
- printf("\nmedia dos elementos [j>i]: %d\n", media);
- }
- }
- int main(){
- int l, c;
- int matriz[MAXL][MAXC];
- numLC(&l, &c);
- leMatriz(matriz, l, c);
- printMatriz(matriz, l, c);
- int soma = 0, cont = 0;
- char OP;
- printf("\nescolha uma operacao p/ ser feita com os elementos acima da DIAGONAL PRINCIPAL.\nS = soma | M = media: ");
- scanf("%s", &OP);
- somaUpDP(matriz, l, c, &soma, &cont);
- //printf("\nsoma teste = %d", soma);
- //printf("\nnum elementos teste = %d", cont);
- operacao(OP, soma, cont);
- return 0;
- }
Add Comment
Please, Sign In to add comment