Operações Com Matrizes
Publicado por José Mario Silva Rosa Filho 16/12/2008
[ Hits: 18.150 ]
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); }
Determinando resultado de uma partida futebol (iniciante)
Usando dois contadores em uma estrutura de repetição simples
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta