Operações Com Matrizes
Publicado por José Mario Silva Rosa Filho 16/12/2008
[ Hits: 18.455 ]
Faz operações simples com matrizes, bem como ensina seu funcionamento!
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define N 10
int matrix[N][N],linha,coluna;
void erro(){
system("cls");
printf("Voce inseriu um valor superior ou inexistente para a linha ou a coluna da matriz!\n");
if(linha && coluna){
printf("Os valores maximos de linhas sao %d e colunas sao %d\n",linha,coluna);
printf("E devem estar concentradros no intervalo de 1 ate o maximo.\n");
}
system("pause");
}
void criamatrix(){
int i,j;
system("cls");
printf("Coloque a quantidade de linhas da matriz: ");
scanf("%d",&linha);
printf("Coloque a quantidade de colunas da matriz: ");
scanf("%d",&coluna);
system("cls");
for(i=0;i<linha;i++){
for(j=0;j<coluna;j++){
printf("Coloque o elemento %d,%d ",i+1,j+1);
scanf("%d",&matrix[i][j]);
}
}
system("cls");
}
void somax(int x){
system("cls");
int i,j,soma=0;
for(i=x;i<=x;i++){
for(j=0;j<coluna;j++){
soma += matrix[i-1][j];
}
}
for(i=0;i<linha;i++){
printf("| ");
for(j=0;j<coluna;j++){
printf("%-3d ",matrix[i][j]);
}
printf("|\n");
}
printf("A soma da linha %d da matriz e: %d\n\n\n",x,soma);
system("pause");
}
void somay(int y){
system("cls");
int i,j,soma=0;
for(i=0;i<=linha;i++){
for(j=y;j<=y;j++){
soma += matrix[i][j-1];
}
}
for(i=0;i<linha;i++){
printf("| ");
for(j=0;j<coluna;j++){
printf("%-3d ",matrix[i][j]);
}
printf("|\n");
}
printf("A soma da coluna %d da matriz e: %d\n\n\n",y,soma);
system("pause");
}
void somadp(){
system("cls");
int i,j,soma=0;
for(i=0;i<linha;i++){
for(j=i;j<=i;j++){
soma += matrix[i][j];
}
}
for(i=0;i<linha;i++){
printf("| ");
for(j=0;j<coluna;j++){
printf("%-3d ",matrix[i][j]);
}
printf("|\n");
}
printf("A soma da diagonal principal da matriz e: %d\n\n\n",soma);
system("pause");
}
void somads(){
system("cls");
int i,j,soma=0;
for(i=0;i<linha;i++){
for(j=coluna-i;j>=coluna-i;j--){
soma += matrix[i][j-1];
}
}
for(i=0;i<linha;i++){
printf("| ");
for(j=0;j<coluna;j++){
printf("%-3d ",matrix[i][j]);
}
printf("|\n");
}
printf("A soma da diagonal secundaria da matriz e: %d\n\n\n",soma);
system("pause");
}
void somaall(){
system("cls");
int i,j,soma=0;
for(i=0;i<linha;i++){
for(j=0;j<coluna;j++){
soma += matrix[i][j];
}
}
for(i=0;i<linha;i++){
printf("| ");
for(j=0;j<coluna;j++){
printf("%-3d ",matrix[i][j]);
}
printf("|\n");
}
printf("A soma total da matriz e: %d\n\n\n",soma);
system("pause");
}
void creditos(){
system("cls");
printf("+-----------------------------------------------------------+\n");
printf("|Programa Desenvolvido Por: |\n");
printf("| Jos%c Mario Silva Rosa Filho |\n",130);
printf("|\"Todo homem procura o sentido de sua exist%cncia, mas nem |\n",136);
printf("|todos encontram o caminho.\" Jos%c Mario |\n",130);
printf("| zemariosrf@hotmail.com |\n");
printf("| 06/06/2008 02:15 |\n");
printf("+-----------------------------------------------------------+\n\n\n");
}
void opcao(){
int x;
system("cls");
do{
system("cls");
printf("Escolha uma das Opcoes para execucao do programa.\n");
printf("+------------------------------------------------------------------------------+");
printf("| |");
printf("| |");
printf("|1)Criar uma matriz. linha x coluna |");
printf("|2)Somar elementos da linha X da matriz. |");
printf("|3)Somar elementos da coluna Y da matriz. |");
printf("|4)Somar elementos da Diagonal Principal. |");
printf("|5)Somar elementos da Diagonal Secundaria. |");
printf("|6)Todos os elementos da Matriz. |");
printf("|7)Mostrar Creditos. |");
printf("| |");
printf("+------------------------------------------------------------------------------+");
scanf("%d",&x);
}
while(x < 1 || x > 6);
switch(x){
case 1:{
criamatrix();
opcao();
break;
}
case 2:{
int x;
system("cls");
printf("Coloque a linha que quer realizar a soma?\n");
scanf("%d",&x);
if(x > linha || x <= 0)erro();
somax(x);
opcao();
break;
}
case 3:{
int y;
system("cls");
printf("Coloque a coluna que quer realizar a soma?\n");
scanf("%d",&y);
if(y > linha || y <= 0)erro();
somay(y);
opcao();
break;
}
case 4:{
somadp();
opcao();
break;
}
case 5:{
somads();
opcao();
break;
}
case 6:{
somaall();
opcao();
break;
}
case 7:{
creditos();
break;
}
}
}
void menu(){
system("cls");
int x;
printf("+--------------------------------------------------------+\n");
printf("| Bem vindo ao Programa Soma da Matriz |\n");
printf("| |\n");
printf("| Escolha a opcao: |\n");
printf("| |\n");
printf("| 1)Entrar no Somador |\n");
printf("| 2)Ver Creditos e Sair |\n");
printf("| |\n");
printf("| |\n");
printf("+--------------------------------------------------------+\n");
do{
scanf("%d",&x);
}
while(x < 1 || x > 2);
if(x == 1)opcao();
else creditos();
getch();
}
int main(){
menu();
return(0);
}
Programa simples em C++ para manipular dados de usuários!
Tipos de ordenação - BubbleSort - SelectSort - Shellsort - Mergesort
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Warcraft II Remastered no Linux? (7)
O programa assinador digital (5)









