Buscar

Crie um algoritmo que leia uma matriz de tamanho 3x3

Crie um algoritmo que leia uma matriz de tamanho 3x3 de números inteiros. Ao final, mostre:

a) A matriz formatada;

b) A soma dos elementos de cada linha;

c) A soma dos elementos de cada coluna;

d) A soma dos elementos da diagonal principal;

e) A soma dos elementos da diagonal secundária;

f) A soma de todos os elementos;

💡 5 Respostas

User badge image

Joao Andre MArtins Dias

/*
 * File:   main.cpp
 * Author: joao
 *
 * Crie um algoritmo que leia uma matriz de tamanho 3x3 de números inteiros.
 *  Ao final, mostre:
 * a) A matriz formatada;
 * b) A soma dos elementos de cada linha;
 * c) A soma dos elementos de cada coluna;
 * d) A soma dos elementos da diagonal principal;
 * e) A soma dos elementos da diagonal secundária;
 * f) A soma de todos os elementos;

 * Created on 03 de Agosto de 2017, 16:26
 */

#include <cstdlib>

#include<stdio.h>

#define M 3
#define N 3

using namespace std;

void preencheMatriz(int mat[M][N], int m, int n) {
    int randon;
    for (int i = 0; i < m; i++) {
        for (int k = 0; k < n; k++) {
            mat[i][k] = (rand() % ((15 - 1) + 1)) + 1;
        }
    }
}

int somaLinha(int mat[M][N], int m, int n, int lin) {
    int soma;
    for (int i = 0; i < m; i++) {
        soma += mat[i][lin];

    }
    return soma;
}

int somaColuna(int vet[N], int n) {
    int soma = 0;
    for (int i = 0; i < n; i++) {
        soma += vet[i];
    }
    return soma;
}

int diagonalPrincipal(int mat[M][N], int m, int n) {
    int k = 0;
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            if (i == j) {
                k += mat[i][j];
            }
        }
    }
    return k;
}

int diagonalSecundaria(int mat[M][N], int m, int n) {
    int k = 0;
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            if (j == n - i - 1) {
                k += mat[i][j];
            }
        }
    }
    return k;
}
int somaTodos(int mat[M][N], int m, int n) {
    int k = 0;
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
                k += mat[i][j];
        }
    }
    return k;
}
void exibeMatriz(int mat[M][N], int m, int n) {
    printf("\nMatriz\n");
    for (int i = 0; i < m; i++) {
        printf("\n");
        for (int j = 0; j < n; j++) {
            printf("[%4d] ", mat[i][j]);
        }
    }
    printf("\n");
}

int main(int argc, char** argv) {
    int cont = 0, m = 3, n = 3;
    int matriz[M][N];
    preencheMatriz(matriz, m, n);
    exibeMatriz(matriz, m, n);
    //relatorio
    printf("\n Soma dos elementos da diagonal Principal[%d] ", diagonalPrincipal(matriz, m, n));
    printf("\n Soma dos elementos da diagonal Secundaria[%d] ", diagonalSecundaria(matriz, m, n));
    for (int i = 0; i < m; i++) {
        printf("\n Soma dos elementos da linha[%d] -[%d] ", i, somaLinha(matriz, m, n, i));
        printf("\n Soma dos elementos das colunas da linha[%d] -[%d] ", i, somaColuna(matriz[i], n));
    }
    printf("\n Soma dos elementos da Matriz [%d]\n ", somaTodos(matriz, m, n));
    
}

0
Dislike0
User badge image

Andre Smaira

Para responder essa questão devemos aplicar nosso conhecimento sobre algoritmos.


#include<stdio.h>

#include<stdlib.h>

int main(){

int m[3][3], i, j, somac1=0, somac2=0, somac3=0, somal1=0, somal2=0, somal3=0, somadia=0, somasec=0;

for(i=0; i<3; i++){

for(j=0; j<3; j++){

scanf("%d", &m[i][j]);

}

}

for(i=0; i<3; i++){

for(j=0; j<3; j++){

if(i==0 && j<3) somal1+= m[i][j];

if(i==1 && j<3) somal2+= m[i][j];

if(i==2 && j<3) somal3+= m[i][j];

if(i<=3 && j==0) somac1+= m[i][j];

if(i<=3 && j==1) somac2+= m[i][j];

if(i<=3 && j==2) somac3+= m[i][j];

if(i==j) somadia+=m[i][j];

if(j+i==2)somasec+=m[i][j];

printf("%d ", m[i][j]);

}

printf(" ");

}

printf("Soma da 1 linha: %d ", somal1);

printf("Soma da 2 linha: %d ", somal2);

printf("Soma da 3 linha: %d ", somal3);

printf("Soma da coluna c1: %d ", somac1);

printf("Soma da coluna c2: %d ", somac2);

printf("Soma da coluna c3: %d ", somac3);

printf("Soma diagonal principal: %d ", somadia);

printf("Soma diagonal secundaria: %d ", somasec);

return 0;

}


Portanto acima temos um código que recebe números de uma matriz e a imprime ela formatada e a manipula através de alguns cálculos matemáticos.

0
Dislike0
User badge image

Andre Smaira

Para responder essa questão devemos aplicar nosso conhecimento sobre algoritmos.


#include<stdio.h>

#include<stdlib.h>

int main(){

int m[3][3], i, j, somac1=0, somac2=0, somac3=0, somal1=0, somal2=0, somal3=0, somadia=0, somasec=0;

for(i=0; i<3; i++){

for(j=0; j<3; j++){

scanf("%d", &m[i][j]);

}

}

for(i=0; i<3; i++){

for(j=0; j<3; j++){

if(i==0 && j<3) somal1+= m[i][j];

if(i==1 && j<3) somal2+= m[i][j];

if(i==2 && j<3) somal3+= m[i][j];

if(i<=3 && j==0) somac1+= m[i][j];

if(i<=3 && j==1) somac2+= m[i][j];

if(i<=3 && j==2) somac3+= m[i][j];

if(i==j) somadia+=m[i][j];

if(j+i==2)somasec+=m[i][j];

printf("%d ", m[i][j]);

}

printf("\n");

}

printf("Soma da 1 linha: %d\n", somal1);

printf("Soma da 2 linha: %d\n", somal2);

printf("Soma da 3 linha: %d\n", somal3);

printf("Soma da coluna c1: %d\n", somac1);

printf("Soma da coluna c2: %d\n", somac2);

printf("Soma da coluna c3: %d\n", somac3);

printf("Soma diagonal principal: %d\n", somadia);

printf("Soma diagonal secundaria: %d\n", somasec);

return 0;

}


Portanto acima temos um código que recebe números de uma matriz e a imprime ela formatada e a manipula através de alguns cálculos matemáticos.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais