Trabalhando com Matrizes
Publicado por Denilson 08/05/2008
[ Hits: 7.140 ]
Esse script faz soma, subtração, multiplicação e a transposta de uma matriz.
#include<iostream.h> #include<stdio.h> #include<conio2.h> #include<math.h> #define UP 72 #define DOWN 80 #define ENTER 13 void Transposta (int A[10][10],int m,int n){ int cont=1; textcolor(10); printf("\n%c",218); gotoxy(wherex()+(m*5),wherey()); printf("%c",191); for(int i=0; i<n; i++){ cout<<"\n"; printf("%c",179); for(int j=0; j<m; j++){ textcolor(7); printf("%3d ",A[j][i]);} textcolor(10); printf("%c",179); if(cont<n){ printf("\n%c",179); gotoxy(wherex()+(m*5),wherey()); printf("%c",179); cont++;}} printf("\n%c",192); gotoxy(wherex()+(m*5),wherey()); printf("%c",217);} void MATRIZ (int A[10][10],int m,int n){int cont=1; textcolor(10); printf("\n%c",218); gotoxy(wherex()+(n*5),wherey()); printf("%c",191); for(int i=0;i<m;i++){ cout<<"\n"; printf("%c",179); for(int j=0;j<n;j++){ textcolor(7); printf(" %3d ",A[i][j]);} textcolor(10); printf("%c",179); if(cont<m){ printf("\n%c",179); gotoxy(wherex()+(n*5),wherey()); printf("%c",179); cont++;}} printf("\n%c",192); gotoxy(wherex()+(n*5),wherey()); printf("%c",217);} void Soma(int A[10][10],int B[10][10],int C[10][10],int m, int n) {int i,j; for(i=0;i<m;i++)for(j=0;j<n;j++)C[i][j]=A[i][j]+B[i][j];} void Subtracao(int A[10][10],int B[10][10],int C[10][10],int m, int n) {int i,j; for(i=0;i<m;i++)for(j=0;j<n;j++)C[i][j]=A[i][j]-B[i][j];} void Multiplicacao(int A[10][10],int B[10][10], int C[10][10],int m, int n,int p){int i,j,k; for(i=0;i<m;i++) for(j=0;j<p;j++){C[i][j]=0; for(k=0;k<n;k++)C[i][j]=C[i][j]+A[i][k]*B[k][j];}} char cmenu[5][28]={" Soma de Matrizes ", " Subtra‡Æo de Matrizes "," Multiplica‡Æo de Matrizes ", " Matriz Transposta "," Sair "}; int linha,tecla; void menu(){ clrscr(); gotoxy(0,0); textcolor(11); cout<<"\n @Autor: Denilson Edinaldo Pinto\n\n\n\n"; textcolor(12); cout<<"\n\n PROJETO DE MATRIZES\n\n "; textcolor(11); cout<<" MENU:"; textcolor(14); textbackground(4); for(linha=1;linha<=5;linha++){ gotoxy(22,linha+10); cprintf("%s", cmenu[linha]);} linha=0; textbackground(1); gotoxy(22,linha+10); cprintf("%s", cmenu[linha]); textbackground(0);} main(){ int A[10][10],B[10][10],C[10][10],m,n,p,i,j,x,y,k,cont=1; menu(); do{ A[10][10]=0,B[10][10]=0,C[10][10]=0; m=0,n=0,p=0,i=0,j=0,x=0,y=0,k=0,cont=1; tecla=getch(); if(tecla==DOWN&&linha<5){ textbackground(4); gotoxy(22,linha+10); cprintf("%s", cmenu[linha]); linha++; textbackground(1); gotoxy(22,linha+10); cprintf("%s", cmenu[linha]);} if(tecla==UP&&linha>-1){ textbackground(4); gotoxy(22,linha+10); cprintf("%s", cmenu[linha]); linha--; textbackground(1); gotoxy(22,linha+10); cprintf("%s", cmenu[linha]);} if(tecla==DOWN&&linha==5){ textbackground(4); gotoxy(22,linha+10); cprintf("%s", cmenu[linha]); linha=0; textbackground(1); gotoxy(22,linha+10); cprintf("%s", cmenu[linha]);} if(tecla==UP&&linha==-1){ textbackground(4); gotoxy(22,linha+11); cprintf("%s", cmenu[linha+1]); linha=4; textbackground(1); gotoxy(22,linha+10); cprintf("%s", cmenu[linha]);} if(tecla==ENTER&&linha==0){ textbackground(0); clrscr(); textcolor(11); cout<<"\n Soma de Matrizes"; textcolor(10); cout<<"\n\n Digite o n§ de linhas: "; textcolor(7); cin>>m; textcolor(10); cout<<"\n\n Digite o n§ de colunas: "; textcolor(7); cin>>n; textcolor(10); cout<<"\n\n Digite a Matriz A: "; textcolor(7); for(y=10,i=0;i<m;y++,i++){ for(x=22,j=0;j<n;x=x+5,j++){gotoxy(x,y); cin>>A[i][j]; cout<<" ";}} textcolor(10); cout<<"\n\n Digite a Matriz B: "; textcolor(7); for(y=y+2,i=0;i<m;y++,i++){ for(x=22,j=0;j<n;x=x+5,j++){gotoxy(x,y); cin>>B[i][j]; cout<<" ";}} Soma(A,B,C,m,n); textcolor(10); cout<<"\n\n Matriz C: \n"; MATRIZ (C,m,n); getch(); menu();} if(tecla==ENTER&&linha==1){ textbackground(0); clrscr(); textcolor(11); cout<<"\n Subtra‡Æo de Matrizes"; textcolor(10); cout<<"\n\n Digite o n§ de linhas: "; textcolor(7); cin>>m; textcolor(10); cout<<"\n\n Digite o n§ de colunas: "; textcolor(7); cin>>n; textcolor(10); cout<<"\n\n Digite a Matriz A: "; textcolor(7); for(y=10,i=0;i<m;y++,i++){ for(x=22,j=0;j<n;x=x+5,j++){gotoxy(x,y); cin>>A[i][j]; cout<<" ";}} textcolor(10); cout<<"\n\n Digite a Matriz B: "; textcolor(7); for(y=y+2,i=0;i<m;y++,i++){ for(x=22,j=0;j<n;x=x+5,j++){gotoxy(x,y); cin>>B[i][j]; cout<<" ";}} Subtracao(A,B,C,m,n); textcolor(10); cout<<"\n\n Matriz C: \n"; MATRIZ (C,m,n); getch(); menu();} if(tecla==ENTER&&linha==2){ textbackground(0); clrscr(); textcolor(11); cout<<"\n Multiplica‡Æo de Matrizes"; textcolor(10); cout<<"\n\n Matriz A: "; cout<<"\n\n Digite o n§ de linhas: "; textcolor(7); cin>>m; textcolor(10); cout<<"\n\n Digite o n§ de colunas: "; textcolor(7); cin>>n; textcolor(10); cout<<"\n\n Digite a Matriz A: "; textcolor(7); for(y=12,i=0;i<m;y++,i++){ for(x=22,j=0;j<n;x=x+5,j++){gotoxy(x,y); cin>>A[i][j]; cout<<" ";}} textcolor(10); cout<<"\n\n Matriz B: "; cout<<"\n\n Digite o n§ de colunas: "; textcolor(7); cin>>p; textcolor(10); cout<<"\n\n Digite a Matriz B: "; textcolor(7); for(y=y+7,i=0;i<m;y++,i++){ for(x=22,j=0;j<p;x=x+5,j++){gotoxy(x,y); cin>>B[i][j]; cout<<" ";}} Multiplicacao(A,B,C,m,n,p); textcolor(10); cout<<"\n\n Matriz C: \n"; printf("\n%c",218); gotoxy(wherex()+(p*5),wherey()); printf("%c",191); for(int i=0;i<m;i++){ cout<<"\n"; printf("%c",179); for(int j=0;j<p;j++){ textcolor(7); printf(" %3d ",C[i][j]);} textcolor(10); printf("%c",179); if(cont<m){ printf("\n%c",179); gotoxy(wherex()+(p*5),wherey()); printf("%c",179); cont++;}} printf("\n%c",192); gotoxy(wherex()+(p*5),wherey()); printf("%c",217); getch(); menu();} if(tecla==ENTER&&linha==3){ textbackground(0); clrscr(); textcolor(11); cout<<"\n Matriz Transposta"; textcolor(10); cout<<"\n\n Matriz A: "; cout<<"\n\n Digite o n§ de linhas: "; textcolor(7); cin>>m; textcolor(10); cout<<"\n\n Digite o n§ de colunas: "; textcolor(7); cin>>n; textcolor(10); cout<<"\n\n Digite a Matriz A: "; textcolor(7); for(y=12,i=0;i<m;y++,i++){ for(x=22,j=0;j<n;x=x+5,j++){gotoxy(x,y); cin>>A[i][j];}} textcolor(10); cout<<"\n\n Transposta de A: \n"; Transposta (A,m,n); getch(); menu();} if(tecla==ENTER&&linha==4){ textbackground(0); clrscr(); exit(0);} }while(tecla!=27);}
Busca, inserção e remoção de elementos numa lista
Script MakePach para correção de platarforma 32 bits para 64
Um Classico exercicio de Lógica de Programação
Exemplo de sistema especialista usando Inteligência Artificial
Algoritmo de ordenação Quick Sort
Nenhum comentário foi encontrado.
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Vc tem um projeto opensource? link? (5)
Olá quais distribuições recomendam para usar no dia a dia. (3)
minha maquina foi desinstalada o firefox eu preciso reinstalar tentei... (6)
Erro na inicialização do Arch Linux. (1)
windows 11 versao 24H2 não aplicando politicas samba4.21.1 GPO (4)