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;
/*
* 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));
}
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.
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.
Para escrever sua resposta aqui, entre ou crie uma conta.
Compartilhar