Trabalhando com Matrizes
Publicado por Denilson 08/05/2008
[ Hits: 7.239 ]
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);}
Pilhas C/C++ - Analisador de expressões simples
Calculando PI usando série de Leibniz
[GAME-2] Acerte os rortões nas janelas (jogo com gráficos)
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Aplicativo simples para gravar tela
Quebra de linha na data e hora no Linux Mint
Firefox não abre em usuário não administradores (2)
Ubuntu com problemas no áudio (1)
Sempre que vou baixar algum pacote acontece o erro dpkg (8)
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (8)