Arrays Bidimensionales
Arrays Bidimensionales
Arrays Bidimensionales
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <cmath>
#include <stdlib.h>
#include <string.h> //directiva para manejar cadenas
using namespace std;
//¨mi primera vez con matrices"
int main ()
{
int mat[3][3];
int i,j;
int p1d,p2d;
int s1f=0,s2f=0,s3f=0;
}
// multiplicacion de las diagonales de la matriz
p1d= mat[0][0]*mat[1][1]*mat[2][2];
p2d= mat[2][0]*mat[1][1]*mat[0][2];
cout<<endl<<"la multiplicacion de la primera diagonal es:"<<p1d<<endl;
cout<<endl<<"la multiplicacion de la segunda diagonal es:"<<p2d<<endl;
i=1;
for(j=0;j<3;j++)
s2f=s2f+mat[i][j];
i=2;
for(j=0;j<3;j++)
s3f=s3f+mat[i][j];
cout<<endl<<mat[0][0]<<"+"<<mat[0][1]<<"+"<<mat[0][2]<<" "<<s1f<<endl;
cout<<endl<<mat[1][0]<<"+"<<mat[1][1]<<"+"<<mat[1][2]<<" "<<s2f<<endl;
cout<<endl<<mat[2][0]<<"+"<<mat[2][1]<<"+"<<mat[2][2]<<" "<<s3f<<endl;
return 0;
}
Resultado:
2. Multiplicación de filas, columnas y diagonales de una matriz 3X3 mediante
bucles.
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <cmath>
#include <stdlib.h>
#include <string.h> //directiva para manejar cadenas
using namespace std;
//¨multiplicación de las filas, columnas y diagonales"
int main ()
{
int mat[3][3];
int i,j;
int p1d=1,p2d=1,p1f=1,p2f=1,p3f=1,p1c=1,p2c=1,p3c=1;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
mat[i][j]=1;
cout<<"Ingrese valores a la matriz"<<endl;
for (i=0;i<3;i++)
for(j=0;j<3;j++)
{
cout<<"Posicion"<<i+1<<" "<<j+1<<" : ";
cin>>mat[i][j];
}
// multiplicacion de filas
i=0;
for(j=0;j<3;j++)
{
i=0;
if(i==0)
{
p1f=p1f*mat[i][j];
i=i+1;
}
if(i==1)
{
p2f=p2f*mat[i][j];
i=i+1;
}
if(i==2)
{
p3f=p3f*mat[i][j];
i=i+1;
}
}
// multiplicación de columnas
j=0;
for(i=0;i<3;i++)
{
j=0;
if(j==0)
{
p1c=p1c*mat[i][j];
j=j+1;
}
if(j==1)
{
p2c=p2c*mat[i][j];
j=j+1;
}
if(j==2)
{
p3c=p3c*mat[i][j];
j=j+1;
}
}
// multiplicación de diagonal 1
for(i=0;i<3;i++)
p1d=p1d*mat[i][j];
// multiplicación de diagonal 2
j=0;
for(i=2;i>=0;i--)
{
p2d=p2d*mat[i][j];
j=j+1;
}
// imprimir matriz
cout<<endl;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<mat[i][j]<<" ";
cout<<endl;
}
// Impresión final de resultados
return 0;
}
Resultado:
3. Programa en donde se ingresa números que no se repitan a una matriz de 3X3,
si se repite aparece una advertencia de que el número ya fue ingresado.
Mediante funciones se busca un número ingresado por teclado en la matriz
definida se indica en pantalla si el número existe o no y por último se ordena la
matriz en orden ascendente usando el método de la burbuja.
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <cmath>
#include <stdlib.h>
#include <string.h> //directiva para manejar cadenas
using namespace std;
ordenar();
return 0;
}
p=0;
q=0;
for(p=0;p<3;p++)
for(q=0;q<3;q++)
{
if(mat[p][q]==nu)
n=1;
}
return n;
}
void ordenar()
{
int i,j,aux,a,b,c,d;
for(a=0;a<3;a++)
for(b=0;b<3;b++)
for(c=0;c<3;c++)
for(d=0;d<3;d++)
if(mat[a][b]<mat[c][d])
{
aux=mat[a][b];
mat[a][b]=mat[c][d];
mat[c][d]=aux;
}
cout<<endl<<"La matriz ordenada ascendentemente"<<endl<<endl;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<mat[i][j]<<" ";
cout<<endl<<endl;
}
}
Resultado:
4. Programa que permite ingresar datos en 2 matrices 3X3 para luego sumarlas
por posiciones iguales y por fila-columna y por último indica cuántas veces se
repite un número en el matriz resultado.
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <cmath>
#include <stdlib.h>
#include <string.h> //directiva para manejar cadenas
using namespace std;
int contarepe(int numero);
int m[3][3],n[3][3],r1[3][3],r2[3][3],repe[3][3];
int main ()
{
int i,j,cr=1,var=100;
//ingreso de valores matriz 1
cout<<"Ingrese valores a matriz 1: "<<endl;
for (i=0;i<3;i++)
for(j=0;j<3;j++)
cin>>m[i][j];
//Ingreso valores matriz 2
cout<<endl<<"Ingrese valores a matriz 2: "<<endl;
for (i=0;i<3;i++)
for(j=0;j<3;j++)
cin>>n[i][j];
//imprimir matrices
for (i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<m[i][j]<<" ";
cout<<endl;
}
cout<<"+"<<endl;
for (i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<n[i][j]<<" ";
cout<<endl;
}
Resultado:
5. Programa que permite ingresar números enteros a una matriz 4x4 y define
cuál de estos son primos, pares y múltiplos. Esto mediante tres funciones del
tipo entero.
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <cmath>
#include <stdlib.h>
#include <string.h> //directiva para manejar cadenas
using namespace std;
int primo (int pr);
int pares (int par);
int multiplos(int mu);
int main ()
{
int i,j,pri,par,mul;
}
cout<<endl<<endl;
// imprimir matriz
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
cout<<mat[i][j]<<" ";
cout<<endl;
}
// llamar a función verificar pares
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
par=0;
par=pares(mat[i][j]);
if(par==1)
cout<<endl<<"Un # par es : "<<mat[i][j];
}
// llamar a función verificar multiplos de 5
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
mul=0;
mul=multiplos(mat[i][j]);
if(mul==1)
cout<<endl<<"Un numero multiplo de 5 es: "<<mat[i][j];
}
return 0;
}
Resultado: