Exercícios de Programação
1. Escrever um programa em C que declara e leia uma matriz m (7x7)
de inteiros e
a) Calcule e mostre a soma da diagonal principal da matriz
b) Troque os elementos da linha número 0 com os elementos da
linha número 6 da matriz.
c) Calcule e mostre a média de cada uma das colunas da matriz
d) Mostre quantos e quais são os elementos da matriz que tem o valor
maior ou igual a média de todos os elementos da matriz.
e) Calcular e mostrar a matriz transposta de m
f) Coloque a soma de cada uma das linhas da matriz em um vetor, e
mostre o vetor gerado. Faça o mesmo para as colunas.
Soluções para a tarefa
Respondido por
2
/* Segue o algoritmo com todos os exercícios abaixo: */
#include <stdio.h>
main(){
int m[7][7] = {
{1,1,1,1,1,1,1},
{2,2,2,2,2,2,2},
{3,3,3,3,3,3,3},
{4,4,4,4,4,4,4},
{5,5,5,5,5,5,5},
{6,6,6,6,6,6,6},
{7,7,7,7,7,7,7}
};
/* A) Calcule e mostre a soma da diagonal principal da matriz */int somaA;for(int x=0 ; x<7 ; x++){for(int y=0 ; y<7 ; y++){if( x == y ){somaA = somaA + m[x][y] ;}}}printf("Letra A : soma igual a %d \n\n", somaA);/* Desenvolvido por ComputaçãoEng*/
/* B) Troque os elementos da linha número 0 com os elementos da linha número 6 da matriz.*/
int auxB;for(int x=0 ; x<7 ; x++){auxB = m[0][x]; m[0][x] = m[6][x];m[6][x] = auxB;}/* Desenvolvido por ComputaçãoEng*/
/* C) Calcule e mostre a média de cada uma das colunas da matriz */
float mediaC, somaC;for(int x=0 ; x<7 ; x++){for(int y=0 ; y<7 ; y++){somaC = somaC + m[y][x];}printf("Letra C coluna %d tem media: %.2f\n", (x+1), (somaC/7) );somaC = 0;}/* Desenvolvido por ComputaçãoEng*/
/* D) Mostre quantos e quais são os elementos da matriz que tem o valor maior ou igual a média de todos os elementos da matriz.*/
int somaD;float mediaD;for(int x=0 ; x<7 ; x++){for(int y=0 ; y<7 ; y++){somaD = somaD + m[x][y];}}mediaD = somaD / (7*7);somaD=0;printf("\n Letra D :");for(int x=0 ; x<7 ; x++){for(int y=0 ; y<7 ; y++){if( m[x][y] >= mediaD){printf(" %d,", m[x][y]);somaD++;}}printf("\n Letra D :");}printf("\n Letra D : %d numeros sao >= media.", somaD);/* Desenvolvido por ComputaçãoEng*/
/* E) Calcular e mostrar a matriz transposta de m */
int mt[7][7];for(int x=0 ; x<7 ; x++){for(int y=0 ; y<7 ; y++){mt[x][y] = m[y][x];}}printf("\n\nLetra E\n");for(int x=0 ; x<7 ; x++){for(int y=0 ; y<7 ; y++){printf(" %d ", mt[x][y]);}printf("\n");}/* Desenvolvido por ComputaçãoEng*/
/* F) Coloque a soma de cada uma das linhas da matriz em um vetor, e mostre o vetor gerado. Desenvolvido por ComputaçãoEng. */
int vetor1[7], vetor2[7];int somaF1, somaF2;for(int x=0 ; x<7 ; x++){for(int y=0 ; y<7 ; y++){somaF1 = somaF1 + m[x][y];}vetor1[x] = somaF1;somaF1 = 0;}for(int x=0 ; x<7 ; x++){for(int y=0 ; y<7 ; y++){somaF2 = somaF2 + m[y][x];}vetor2[x] = somaF2;somaF2 = 0;}printf("\n\n Letra F \n Vetor soma linha : ");for(int x=0 ; x<7 ; x++){printf(" %d ,", vetor1[x]);}printf("\n Vetor soma coluna : ");for(int x=0 ; x<7 ; x++){printf(" %d ,", vetor2[x]);}printf("\n\n\n\n");
}
#include <stdio.h>
main(){
int m[7][7] = {
{1,1,1,1,1,1,1},
{2,2,2,2,2,2,2},
{3,3,3,3,3,3,3},
{4,4,4,4,4,4,4},
{5,5,5,5,5,5,5},
{6,6,6,6,6,6,6},
{7,7,7,7,7,7,7}
};
/* A) Calcule e mostre a soma da diagonal principal da matriz */int somaA;for(int x=0 ; x<7 ; x++){for(int y=0 ; y<7 ; y++){if( x == y ){somaA = somaA + m[x][y] ;}}}printf("Letra A : soma igual a %d \n\n", somaA);/* Desenvolvido por ComputaçãoEng*/
/* B) Troque os elementos da linha número 0 com os elementos da linha número 6 da matriz.*/
int auxB;for(int x=0 ; x<7 ; x++){auxB = m[0][x]; m[0][x] = m[6][x];m[6][x] = auxB;}/* Desenvolvido por ComputaçãoEng*/
/* C) Calcule e mostre a média de cada uma das colunas da matriz */
float mediaC, somaC;for(int x=0 ; x<7 ; x++){for(int y=0 ; y<7 ; y++){somaC = somaC + m[y][x];}printf("Letra C coluna %d tem media: %.2f\n", (x+1), (somaC/7) );somaC = 0;}/* Desenvolvido por ComputaçãoEng*/
/* D) Mostre quantos e quais são os elementos da matriz que tem o valor maior ou igual a média de todos os elementos da matriz.*/
int somaD;float mediaD;for(int x=0 ; x<7 ; x++){for(int y=0 ; y<7 ; y++){somaD = somaD + m[x][y];}}mediaD = somaD / (7*7);somaD=0;printf("\n Letra D :");for(int x=0 ; x<7 ; x++){for(int y=0 ; y<7 ; y++){if( m[x][y] >= mediaD){printf(" %d,", m[x][y]);somaD++;}}printf("\n Letra D :");}printf("\n Letra D : %d numeros sao >= media.", somaD);/* Desenvolvido por ComputaçãoEng*/
/* E) Calcular e mostrar a matriz transposta de m */
int mt[7][7];for(int x=0 ; x<7 ; x++){for(int y=0 ; y<7 ; y++){mt[x][y] = m[y][x];}}printf("\n\nLetra E\n");for(int x=0 ; x<7 ; x++){for(int y=0 ; y<7 ; y++){printf(" %d ", mt[x][y]);}printf("\n");}/* Desenvolvido por ComputaçãoEng*/
/* F) Coloque a soma de cada uma das linhas da matriz em um vetor, e mostre o vetor gerado. Desenvolvido por ComputaçãoEng. */
int vetor1[7], vetor2[7];int somaF1, somaF2;for(int x=0 ; x<7 ; x++){for(int y=0 ; y<7 ; y++){somaF1 = somaF1 + m[x][y];}vetor1[x] = somaF1;somaF1 = 0;}for(int x=0 ; x<7 ; x++){for(int y=0 ; y<7 ; y++){somaF2 = somaF2 + m[y][x];}vetor2[x] = somaF2;somaF2 = 0;}printf("\n\n Letra F \n Vetor soma linha : ");for(int x=0 ; x<7 ; x++){printf(" %d ,", vetor1[x]);}printf("\n Vetor soma coluna : ");for(int x=0 ; x<7 ; x++){printf(" %d ,", vetor2[x]);}printf("\n\n\n\n");
}
Anexos:
Perguntas interessantes