You are on page 1of 18

1.

Suma de Matrices
#include<iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
int i, j, n,k, dato1, dato2, a[100][100], b[100][100], c[100][100];
void main()
{
cout<<"Digite la dimension de las filas y columnas: ";cin>>n;
for(i = 1 ; i <= n ; i++)
{
for(j = 1 ; j <= n ; j++)
{
cout << "digite dato 1:
cin >> a[i][j];

[" << i << "]["<< j << "]: ";

}
}cout << endl;
for(i = 1 ; i <= n ; i++)
{
for(j = 1 ; j <= n ; j++)
{
cout << "digite dato 2: [" << i << "]["<< j << "]: ";
cin >> b[i][j];
}
}
cout << endl;
for(i=1;i<=n;i++)/* Realiza el producto de matrices y guarda el resultado en
una tercera matriz*/
{
for(j=1;j<=n;j++)
{
c[i][j]=0;
for(k=1;k<=n;k++)
{
c[i][j]=a[i][j]+b[i][j];
}
}
}
cout << endl;
for(i = 1 ; i <= n ; i++)// Imprime los elementos de la matriz c
{
for(j = 1 ; j <= n ; j++)
{
cout << " "<< c[i][j] << "
";
if(j == n)
cout << endl;
}
}
cout<<"\n";
system("PAUSE");

2. Multiplicacion de matrices
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
int i, j, k, a[3][3], b[3][3], c[3][3];
void main(){
cout << "MATRIZ A." << endl; // Introduce los elementos de la matriz A
for(i = 0 ; i < 3 ; i++){
for(j = 0 ; j < 3 ; j++){
cout << "Introduzca el valor del elemento [" << i << "]["
<< j << "]: ";
cin >> a[i][j];
}
}
cout << endl;
cout << "MATRIZ
for(i = 0 ; i <
for(j = 0 ;
cout <<

B." << endl; // Introduce los elementos de la matriz B


3 ; i++){
j < 3 ; j++){
"Introduzca el valor del elemento [" << i << "]["
<< j << "]: ";
cin >> b[i][j];

}
}
cout << endl;
for(i = 0 ; i < 3 ; i++){ // Imprime los elementos de la matriz A
for(j = 0 ; j < 3 ; j++){
cout << a[i][j] << " ";
if(j == 2)
cout << endl;
}
}
cout << endl;
for(i = 0 ; i < 3 ; i++){ // Imprime los elementos de la matriz B
for(j = 0 ; j < 3 ; j++){
cout << b[i][j] << " ";
if(j == 2)
cout << endl;
}
}
for(i=0;i<3;i++){ /* Realiza el producto de matrices y guarda
el resultado en una tercera matriz*/
for(j=0;j<3;j++){
c[i][j]=0;
for(k=0;k<3;k++){
c[i][j]=c[i][j]+(a[i][k]*b[k][j]);
}
}
}
cout << endl << "MATRIZ C (Matriz A*B)." << endl;
cout << endl;
for(i=0;i<3;i++){ // Imprime la matriz resultado
for(j=0;j<3;j++){
cout << c[i][j] << " ";

if(j==2)
cout << endl;
}
}
system("PAUSE");
}

3. multiplicacin d matriz por escalar


#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
int i, j, a[100][100], b[100][100],n,es;
void main(){
cout<<"introduce la dimension: ";
cin>>n;
cout << "MATRIZ A." << endl; // Introduce los elementos de la matriz
for(i = 0 ; i < n ; i++){
for(j = 0 ; j < n ; j++){
cout << "Introduzca el valor del elemento [" << i << "]["
<< j << "]: ";
cin >> a[i][j];
}
}
cout << endl;

for(i = 0 ; i < n ; i++){ // Imprime los elementos de la matriz


for(j = 0 ; j < n ; j++){
cout << a[i][j] << " ";
if(j == n-1)
cout << endl;
}
}
cout << "INTRODUCE EL ESCALAR:
cin>>es;

";

for(i = 0 ; i < n; i++){ // Imprime los elementos de la matriz B


for(j = 0 ; j < n ; j++){
b[i][j] = es* a[i][j];
cout << b[i][j] << " ";
if(j == n-1)
cout << endl;
}
}
system("PAUSE");
}

4. suma de matriz principal


#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
int i, j,n,s;
float x [100][100];
int main(){
s=0;
cout << "digite dimension" << endl;
cin>>n;
for(i = 1 ; i <=n ; i++){
for(j = 1 ; j <=n ; j++){
cout << "Introduzca el valor del elemento [" << i << "]["
<< j << "]: ";
cin >> x[i][j];

}
}
cout << endl;
for(i = 1 ; i <= n ; i++){
for(j = 1 ; j <= n ; j++){
cout << x[i][j] << " ";
if(j == n)
cout << endl;
}
}
for(i = 1 ; i <= n ; i++){
for(j = 1 ; j <= n ; j++){
if (i==j)
s = s + x[i][j];
}
}
cout << endl;
cout<<"la suma de la matrices principal
cout << endl;
system("PAUSE");
return 0;
}

es:

"<<s ;

5. suma de matriz secundaria


#include <iostream>
#include <stdio.h>
#include <conio.h>

using namespace std;


int i, j,n,s;
float x [100][100];
int main(){
s=0;
cout << "digite dimension" << endl;
cin>>n;
for(i = 1 ; i <=n ; i++){
for(j = 1 ; j <=n ; j++){
cout << "Introduzca el valor del elemento [" << i << "]["
<< j << "]: ";
cin >> x[i][j];

}
}

cout << endl;


for(i = 1 ; i <= n ; i++){
for(j = 1 ; j <= n ; j++){
cout << x[i][j] << " ";
if(j == n)
cout << endl;
}
}
cout << endl;
for(i = 1 ; i <= n ; i++){
for(j = 1 ; j <= n ; j++){
if (i+j == n+1){
s =s+x[i][j];
}
}
}
cout << endl;
cout<<"la suma de la matrices secundaria es:
cout << endl;
system("PAUSE");
return 0;
}

"<<s ;

6) Recorrido de una matriz


#include
#include
#include
#include

<iostream>
<stdio.h>
<conio.h>
<complex>

using namespace std;


int op1,i, j,n,s,s1,s2,s3,x[100][100];
int su,su1,su2,su3,z[100][100];

void main(){
do{
opc0:
system("cls");
cout<<"\n";
cout<<"
_____________________________________________________ "<<endl;
cout<<"
|
|"<<endl;
cout<<"
|
Recorrido de una Matriz
|"<<endl;
cout<<"
|
|"<<endl;
cout<<"
|_____________________________________________________|"<<endl;
cout<<"
|
|"<<endl;
cout<<"
|
1-Recorrido N
|"<<endl;
cout<<"
|
2-Recorrido Z
|"<<endl;
cout<<"
|
3-Recorrido caracol
|"<<endl;
cout<<"
|
4-Salir
|"<<endl;
cout<<"
|_____________________________________________________|"<<endl;
cout<<"\n";
cout<<"
Digite la opcion deseada: ";cin>>op1;
if(op1==1)
{
s=0;
s1=0;
s2=0;
s3=0;
cout << "digite dimension" << endl;
cin>>n;
for(i = 1 ; i <=n ; i++){
for(j = 1 ; j <=n ; j++){
cout << "Introduzca el valor del elemento [" << i << "]["
<< j << "]: ";cin >> x[i][j];
}
}
cout << endl;
for(i = 1 ; i <= n ; i++){
for(j = 1 ; j <= n ; j++){
cout << x[i][j] << " ";
if(j == n)
cout << endl;
}
}
cout << endl;
for(i = 1 ; i <= n ; i++){

for(j = 1 ; j <= n ; j++){


if ((j == 1) ){
s = s+x[i][j];
}
if (i == j) s1 = s1+x[i][j];
if (j == n )s2 = s2+x[i][j];
}
}
cout << endl;
cout<<"S: "<<s;
cout<<"\n";
s1=s1-x[1][1];
cout<<"S1: "<<s1;
cout<<"\n";
s2=s2-x[n][n] ;
cout<<"S2: "<<s2;
cout<<"\n";
s3=s+s1+s2;
cout << "total suma: "<<s3<<endl;
cout<<"\n";
system("PAUSE");
goto opc0;
}
if(op1==2)
{
su=0;
su1=0;
su2=0;
su3=0;
cout << "digite dimension" << endl;
cin>>n;
for(i = 1 ; i <=n ; i++){
for(j = 1 ; j <=n ; j++){
cout << "Introduzca el valor del elemento [" << i << "]["
<< j << "]: "; cin >> z[i][j];
}
}cout << endl;
for(i = 1 ; i <= n ; i++){
for(j = 1 ; j <= n ; j++){
cout << z[i][j] << " ";
if(j == n)
cout << endl;
}
}cout << endl;
for(i = 1 ; i <= n ; i++){
for(j = 1 ; j <= n ; j++){
if ((i == 1) ){
su = su+z[i][j];
}
if (i+j == n+1) su1 = su1+z[i][j];
if (i == n) su2 = su2+z[i][j];
}
} cout << endl;

cout<<"S: "<<su ;
cout<<"\n";
su1=su1-z[1][n];
cout<<"S1: "<<su1;
cout<<"\n";
su2=su2-z[n][1] ;
cout<<"S2: "<<su2;
cout<<"\n";
su3=su+su1+su2;
cout <<"Total suma:
cout<<"\n";
system("PAUSE");
goto opc0;
}
if(op1==4)
{
break;
}
}while(op1!=4);
}

" <<su3<<endl;

MATRIZ INVERSA
#include<iostream>
using namespace std;
void main()
{
int i,j,k,l,m,n ;
int a[100][100],cof[100][100],inv[100][100];
float inversa[100][100];
int d,d1,d2,det,h;
m=2;

cout << "Introducir los elementos" << endl;


cout << "------------------------" << endl;;
for(i=1;i<=3;i++)
{ for(j=1;j<=3;j++)
{cin >> a[i][j];}}
d=a[1][1]*((a[2][2]*a[3][3]-a[3][2]*a[2][3]));
d1=a[1][2]*((a[2][1]*a[3][3]-a[3][1]*a[2][3]));
d2=a[1][3]*((a[2][1]*a[3][2]-a[3][1]*a[2][2]));
det= d-d1+d2;
cout << endl;
cout << "DETERMINANTE = " << det << endl;
if(det==0)
{
cout<<" no se puede calcular la adjunta porque el determinante es igual a
cero"";
cout<<"\n";
system("Pause");
}else
{

cof[1][1]=((a[2][2]*a[3][3])-(a[3][2]*a[2][3]));
cof[1][2]=(-((a[2][1]*a[3][3])-(a[3][1]*a[2][3])));
cof[1][3]=((a[2][1]*a[3][2])-(a[3][1]*a[2][2]));
cof[2][1]=(-((a[1][2]*a[3][3])-(a[3][2]*a[1][3])));
cof[2][2]=((a[1][1]*a[3][3])-(a[3][1]*a[1][3]));
cof[2][3]=(-((a[1][1]*a[3][2])-(a[3][1]*a[1][2])));
cof[3][1]=((a[1][2]*a[2][3])-(a[2][2]*a[1][3]));
cof[3][2]=(-((a[1][1]*a[2][3])-(a[3][2]*a[1][3])));
cof[3][3]=((a[1][1]*a[2][2])-(a[2][1]*a[1][2]));
cout << endl;
cout<< "\n Cofactor de la matriz \n" ;
for(i = 1 ; i <= 3 ; i++){
for(j = 1 ; j <= 3 ; j++){
cout<< cof[i][j]<<"

" ;

if(j == 3)
cout << endl;
}}
cout << endl;
cout<< "\n Transpuesta del Cofactor de la matriz\n " ;
for(i = 1 ; i <= 3 ; i++){
for(j = 1 ; j <= 3 ; j++){
inv[i][j] =cof[j][i];
cout<< inv[i][j]<<"
if(j == 3)
cout << endl;

" ;

}
}
cout << endl;
h=det;
cout<<"1/"<<h<<" *";
for(i = 1 ; i <= 3 ; i++){
for(j = 1 ; j <= 3 ; j++){
inversa[i][j] =inv[i][j];
cout<<"

"<<inversa[i][j]<<"
if(j == 3)
cout << endl;

}
}
}

system("PAUSE");

" ;

ALGORITMOS DE MATRICES
1. Algoritmo Que calcula la suma de dos matrices.
Var: i, j, dato1, dato2

: entero;

A(i,j), B(i,j), C(i,j) : Array [1:100] :entero;


Inicio
Lea digite la dimensin de filas y columnas: n;
Para i =1 ,n

haga

Para j=1,n haga


Lea dato1;
A(i,j) dato1
Lea dato2;
B(i,j) dato2
Finpara
finpara
C(i,j) A(i,j) +B(i,j);

Para

i=1 , n haga
Para j=1 , n , haga
Escriba
finpara

finpara

fin

C(i,j);

2. Algoritmo que multiplica

dos matrices.

Var: i, j, n,k , dato1, dato2, dato3

: entero;

A(i,j), B(i,j), C(i,j) : Array [1:100] :entero;

Inicio
Lea digite la dimensin de filas y columnas: n;
Para i =1 ,n

haga

Para j=1,n haga


lea digite dato :dato1 ;
A(i,j) dato1;
Fin_para
Fin_para

Para i =1 ,n haga
Para j=1,n haga
lea digite dato :dato2;
B(i,j) dato2;
Fin_para
Fin_para
//Imprime los elementos de la matriz A
Para i =1 ,n

haga

Para j=1,n haga


Escriba
Fin_para
Fin_para

A(i,j);

//Imprime los elementos de B


Para i =1 ,n

haga

Para j=1,n haga


Escriba

B(i,j);

Fin_para
Fin_para;
//Realiza el producto de las matrices
Para i =1 ,n haga
Para j=1,n haga
C(i,j) 0;
Para k=1,n haga
C(i,j)C(i,j)+A[i,k]xB(k,j);
Fin_para
Fin_para
Fin_para
Imprime matriz c
Para i =1 ,n haga
Para j=1,n haga
Escriba C(i,j);
Fin_para
Fin_para
fin

3. Algoritmo que multiplica un escalar por una matriz.


Var: i, j, n, valor: entero;
A(i,j), B(i,j), C(i,j) : Array [1:100] :entero;
Inicio
Lea digite la dimensin de filas y columnas: n;
Para i =1 ,n

haga

Para j=1,n haga


lea digite dato :dato;
A(i,j) dato;
Fin_para
Fin_para
//Imprime la matriz
Para i =1 ,n

haga

Para j=1,n haga


Escriba A(i,j);
Fin_para
Fin_para
//Mtodo Introduce el escalar
lea digite numero para multiplicar :valor ;
Para i =1 ,n

haga

Para j=1,n haga


B(i,j) valor x A(i,j);
Fin_para
Fin_para
escriba B(i,j);

fin

4. Algoritmo Traza matriz principal


Var: i, j, n, S, dato : entero;
A(i,j), B(i,j), C(i,j) : Array [1:100] :real;
Inicio
Lea digite la dimensin de filas y columnas: n;
S0;
Para i =1 ,n haga
Para j=1,n haga
lea digite dato :dato ;
A(i,j) dato;
Fin_para
Fin_para
Para i =1 ,n haga
Para j=1,n haga
Escriba A(i,j);
Fin_para
Fin_para
Para i =1 ,n haga
Para j=1,n haga
Si (i=j)
S S + A(i,j);
Fin_si
Fin_para
Fin_para

Escriba la suma de

de la matriz principal S;

5. Algoritmo Traza matriz secundaria


Var: i, j, n, S, dato : entero;
A(i,j), B(i,j), C(i,j) : Array [1:100] :real;
Inicio
Lea digite la dimensin de filas y columnas: n;
S0;
Para i =1 ,n haga
Para j=1,n haga
lea digite dato :dato ;
A(i,j) dato;
Fin_para
Fin_para
Para i =1 ,n haga
Para j=1,n haga
Escriba A(i,j);
Fin_para
Fin_para
Para i =1 ,n

haga

Para j=1,n haga


Si (i+j=n+1)
S S + A(i,j);
Fin_si
Fin_para
Fin_para
Escriba la suma de

de la matriz secundaria S;

fin
6. Algoritmo recorrido de una matriz N
Var: i, j, n,

S,S1, S2, S3 dato : entero;

A(i,j), B(i,j): Array [1:100] :entero;


Inicio
Lea digite la dimensin de filas y columnas: n;
Para i =1 ,n

haga

Para j=1,n haga


Lea digite dato: dato;
A(i,j)dato;
Fin_para
Fin_para
Para i =1 ,n haga
Para j=1,n haga
Escriba

A(i,j);

Fin_para
Fin_para
Para i =1 ,n haga
Para j=1,n haga
Si (j=1)
S S+ A(i,j);
Fin_si
Fin_para
Fin_para
SI (i=j)
S1S1+ A(i,j);

SI (i= n )
S2S2+ A(i,j);
Fin_si
Fin_si
Lea digite valor:s;
S1=S1-A(1,1);
lea digite valorS1;
S2=S2-A(n,n) ;
lea digite valorS2;
S3=s+s1+s2;
escriba S3;
fin

You might also like