Exemplos de programas com Vetores e Matrizes
Adição de matrizes
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <cstring>
#define m 10
#define UNI "UNIJUI - Universidade Regional do Noroeste do Estado do Rio Grande do sul\n"
#define disc "Matematica Computacional II\n"
#define nome "Fulano e Beltrano\n"
#define profe "Professora: Tania Michel Pereira\n"
char aij[m];
double a[m][m], b[m][m], C[m][m];
//////////////// funcao entrada dos dados//////
void entradaAB(char M, int l, int c)
{
for (int i=1; i<=l; i++)
for (int j=1; j<=c; j++)
{
if (M=='a')
{
cout<< "a" << i << j << " ";
gets(aij); // gets = aceita uma palavra - string
a[i][j]=atof(aij); // atof = transforma um caracter em número
}
if (M=='b')
{
cout<< "b" << i << j << " ";
gets(aij);
b[i][j]=atof(aij);
}}}
/////////////////// funcao saida//////////////
void saidaC(int la, int cb)
{
cout << "\nC = ";
for (int i=1; i<=la; i++)
{
for (int j=1; j<=cb; j++)
cout << "\t" << C[i][j]; cout << endl;
}}
///////////////// Soma ou subtracao de matrizes ////////////
void calcula_soma(int l, int c)
{
for (int i=1; i<=l; i++)
for (int j=1; j<=c; j++)
{
C[i][j]=a[i][j]+b[i][j];
}
}
///////dados sobre tipo de matriz para soma//////
void soma_matrizes()
{
float s=1;
int la, ca, op, opc;
for(;;)
{
cout<<UNI<<disc<<nome<<profe;
cout<< "Este programa soma matrizes \n";
cout<< "quaiquer n x n."<<endl;
cout<<endl;
cout<< "Entre com o numero de linhas de A: ";
cin >> la;
cout<< "Entre com o numero de colunas de A: ";
cin>>ca;
cout<<endl;
cout<< "\n Entre com os elementos da matriz A: "<<endl;
entradaAB('a',la,ca);
cout<< "\n Entre com os elementos da matriz B: "<<endl;
entradaAB('b',la,ca);
calcula_soma(la,ca);
saidaC(la,ca);
cout<< endl<<"Digite 1 para continuar ou 2 para sair ";
cin>>op;
if(op!=1) break;
}
}
void main() ////////// Comeco do programa /////
{
soma_matrizes();
}
O programa para produto de duas matrizes
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <cstring>
#define m 10
#define UNI "UNIJUI - Universidade Regional do Noroeste do Estado do Rio Grande do sul\n"
#define disc "Matematica Computacional II\n"
#define nome "Fulano e Beltrano\n"
#define profe "Professora: Tania Michel Pereira\n"
char aij[m];
double a[m][m], b[m][m], C[m][m];
//////////////// funcao entrada dos dados//////
void entradaAB(char M, int l, int c)
{
for (int i=1; i<=l; i++)
for (int j=1; j<=c; j++)
{
if (M=='a')
{
cout<< "a" << i << j << " ";
gets(aij); // gets = aceita uma palavra - string
a[i][j]=atof(aij); // atof = transforma um caracter em número
}
if (M=='b')
{
cout<< "b" << i << j << " ";
gets(aij);
b[i][j]=atof(aij);
}}}
/////////////////// funcao saida//////////////
void saidaC(int la, int cb)
{
cout << "\nC = ";
for (int i=1; i<=la; i++)
{
for (int j=1; j<=cb; j++)
cout << "\t" << C[i][j]; cout << endl;
}}
///////////////// produto de matrizes ////////////
void multiplicaAB(int la, int cb, int calb)
{
float soma;
for (int i=1; i<=la; i++)
for (int j=1; j<=cb; j++)
{
soma = 0;
for (int t=1; t<=calb; t++)
{
soma=soma+(a[i][t]*b[t][j]);
}
C[i][j]=soma;
} }
///////dados sobre tipo de matriz para produto//////
void multiplicacao( )
{
int la, cb, calb, op;
for(;;)
{
cout<< "Este programa serve para multiplicacao de matrizes n x n."<<endl;
cout<< "\n Entre com o numero de linhas de A: ";
cin >> la;
cout<< "Entre com o numero de colunas de A: ";
cin >> calb;
cout<< "Entre com o numero de colunas de B: ";
cin>>cb;
cout<<endl;
entradaAB('a',la,calb);
entradaAB('b',calb,cb);
multiplicaAB(la,cb,calb);
saidaC(la,cb);
cout<< endl<<"Digite 1 para continuar ou 2 para sair ";
cin>>op;
if(op!=1) break;
}
}
void main() ////////// Comeco do programa /////
{
cout<<UNI<<disc<<nome<<profe;
multiplicacao( );
}