Trabalhando com Matrizes
Publicado por Denilson 08/05/2008
[ Hits: 7.273 ]
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);}
Cálculo de logaritmo de um número por um terceiro método em C
Derrubando SyGate Profissional Firewall !
Fibbonacci com Memoization - O(n)
AA linux kernel modificado por minhe
Nenhum coment�rio foi encontrado.
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Problema com impressoras de rede (0)
Ajuda com o Debian 13 - Video hibrido geforce 940 mx Wayland OFF (1)