Sei sulla pagina 1di 4

ALGORITMOS Y ESTRUCTURA DE DATOS

ARREGLOS BIDIMENSIONALES

Los arreglos bidimensionales constan de filas y columnas, se conocen también como


matrices, dentro de una matriz todos los elementos son del mismo tipo (enteros,
reales, cadenas, caracteres) y se definen de la siguiente forma:
j
1 2 3 4 5
i 1
Matriz A [i,j]
2 11
3
4 10
5 5
Elementos de la matriz A
A[2,3] =11
A[4,4] =10
A[5,1] =5

Formato:
Tipo
Tipo de datos Nombre de Matriz [fila][ columna]

Ejemplo:

Tipo
int A[3][3];

Arreglo A de 3 filas y 3 columnas de datos enteros

OPERACIONES EN ARREGLOS BIDIMENSIONALES O MATRICES


Todas las operaciones en matrices de realizan dentro de la sentencia FOR, el primer
FOR permite que el índice i recorra las filas y el segundo FOR con el índice j las
columnas.

INGRESO DE DATOS EN UNA MATRIZ

for(i=0;i<3;i++)
for(j=0;j<5;j++)
{printf("mat[%d][%d]="i,j);
scanf("%d",&mat[i][j]);
}
Nota: el Desde de las columnas es el que termina de recorrer mas rápido, por eso la
lectura de la matriz es de fila y columna (fil1 col1, fil1 col2, fil1 col3)

VISUALIZACIÓN DE DATOS EN UNA MATRIZ

for(j=0;j<5;j++)
{ for(i=0;i<3;i++)
printf("%5d",mat[i][j]);
printf("\n");}

MATRICES Pá gina 1
ALGORITMOS Y ESTRUCTURA DE DATOS

EJEMPLOS:

1. Ingresar los datos en una matriz de 3 x 5 de la siguiente forma:

4 7 1 3 5
2 0 6 9 7
3 1 2 6 4

Y luego mostrar sus valores invertidos de la siguiente forma:

4 2 3
7 0 1
1 6 2
3 9 6
5 7 4

#include<iostream.h>
#include<conio.h>
void main(void)
{int mat[3][5], i, j;
clrscr();
gotoxy(10,5);
cout<<"INGRESE DATOS DE LA MATRIZ\n\n";
for(i=0;i<3;i++)
for(j=0;j<5;j++)
{cout<<"mat["<<i<<"]"<<"["<<j<<"]";
cin>>mat[i][j];
}
clrscr();
gotoxy(10,5);

cout<<"LA MATRIZ INGRESADA ES:\n\n";


for(i=0;i<3;i++)
{ for(j=0;j<5;j++)
cout<<mat[i][j];
cout<<"\n";
}
gotoxy(10,15);

cout<<"LA MATRIZ CAMBIADA ES:\n\n";


for(j=0;j<5;j++)
{ for(i=0;i<3;i++)
cout<<mat[i][j];
cout<<"\n";
}
getch();

2. Programa que ingrese una matriz de m filas y n columnas, ubicar el elementos


mayor.

MATRICES Pá gina 2
ALGORITMOS Y ESTRUCTURA DE DATOS

#include<iostream.h>
#include<conio.h>
#define lim 100
void main(void)
{int mat[lim][lim],may,cont,i,j,fil,col;
may=mat[0][0];
cont=0;
clrscr();
do{
cout<<"INGRESE EL LIMITE DE LAS FILAS:";
cin>>fil;
}while(fil<=0);

do{
cout<<"INGRESE EL LIMITE DE LAS COLUMNAS:";
cin>>col;
}while(col<=0);

gotoxy(10,5);
cout<<"INGRESE DATOS DE LA MATRIZ\n\n";
for(i=0;i<fil;i++)
for(j=0;j<col;j++)
{cout<<"mat["<<i<<"]"<<"["<<j<<"]";
cin>>mat[i][j];
}

for(i=0;i<fil;i++)
for(j=0;j<col;j++)
if(mat[i][j]>may)
may=mat[i][j];

clrscr();
gotoxy(10,5);
cout<<"LA MATRIZ INGRESADA ES:\n\n";
for(i=0;i<fil;i++)
{ for(j=0;j<col;j++)
cout<<" "<<mat[i][j];
cout<<"\n";

gotoxy(10,10);
cout<<"\n\nEL NUMERO MAYOR ES:"<<may;
getch();
}

MATRICES Pá gina 3
ALGORITMOS Y ESTRUCTURA DE DATOS

EJERCICIOS PROPUESTOS

1. Se tiene una matriz de m filas y n columnas, calcular la suma de sus


elementos.
2. Calcular la suma de los elementos que no pertenecen a la diagonal principal de
una matriz de m filas y n columnas.
3. Programa que ingrese una matriz de m filas y n columnas y permita:
 Imprimir los elementos de la diagonal principal
 Imprimir los elementos de las diagonales

3. Escribir un algoritmo que dada una matriz de m filas y n columnas de números


enteros permita:
 Imprimir los elementos de la diagonal superior
 Imprimir los elementos de la diagonal inferior
Matriz principal
4 7 1
2 0 6
3 1 2
Diagonal superior
4 7 1
0 6
2
Diagonal inferior
4
2 0
3 1 2

4. Escribir un algoritmo que dada una matriz de m filas y n columnas de números


enteros permita:
 Imprimir los elementos de las diagonales
Matriz principal
4 7 1
2 0 6
3 1 2
Elementos de las Diagonales
4 1
0
3 2

MATRICES Pá gina 4

Potrebbero piacerti anche