SlideShare a Scribd company logo
1 of 21
Una matriz es un vector de vectores, o
conjunto de elementos siempre del mismo
                                     tipo.
Cada elemento es una casilla, con posición:
elemento [1:8,a:h]; dependiendo de la fila y columna
donde encuentren.
ELEMENTOS DE LA MATRIZ
Para identificar los elementos de la matriz, se utilizan dos
subíndices:
 El primero, indica la fila donde se ubica.
 El segundo, indica en qué columna está.


Por ejemplo: M[2,3]
Se refiere al elemento ubicado en la segunda fila y tercera
columna.
LÍMITES DE LOS SUBÍNDICES DE LA
 MATRIZ
Un array bidimensional, posee límites: superior,e inferior
para su número de filas y columnas.
De ahí que:
B(L1:U1,L2:U2)={B[I,J]}
L<-Límite inferior ; U<-límite superior
Donde L1<-I<-U1
         L2<-J<-U2
Cada elemento B[I,J] es de tipo T
El número de elementos de la fila es B es U2-L2+1 y el
número de elementos de la columna B ES U1-L1+1; por ello
el número de elementos del array es (U2-L2+1)*( U1-L1+1)
DECLARACIÓN DE UNA MATRIZ
Una matriz se declara usando el siguiente formato:

      <TIPO> <NOMBREmatriz> [<N>][<M>] ;
Por ejemplo: Se quiere declarar una matriz con nombre
mat, de dimensión 15x4 y que pueda almacenar datos de tipo
carácter.

             char mat [15][4];
Por ejemplo, una matriz bidimensional se puede imaginar como
una tabla bidimensional compuesta de elementos, todos ellos de
un mismo tipo de datos uniforme.
jimmy representa una matriz bidimensional de 3 por 5 elementos
de tipo int. La manera de declarar esta matriz en C + + sería:




 int jimmy [3][5];
y, por ejemplo, la manera de hacer referencia al segundo elemento
vertical y horizontal en el cuarto una expresión sería:




jimmy[1][3]

(Recuerde que los índices comienzan siempre por cero).
ASIGNACIÓN DIRECTA DE ELEMENTOS DE
       UN ARREGLO BIDIMENSIONAL

             ( Inserción de elementos)



 <nombre del arreglo> [índice de fila][índice de
 columna] = valor del elemento;
FORMATO DE ASIGNACIÓN DIRECTA A UN
ARREGLO BIDIMENSIONAL (extracción de
            elementos)



  <identificador variable> =<nombre del
arreglo>[índice de fila][índice de columna];
Dadas las siguientes definiciones de arreglo
    bidimensional, dibuje un diagrama de la estructura
  del arreglo mostrando los índices respectivos de filas y
                        columnas.
      int voltaje[CORRIENTE][RESISTENCIA];
 const int CORRIENTE = 26;
 const int RESISTENCIA = 1001;
Las asignacion directa posibles para la inserción de un
valor eso:
voltaje[2][10] = 20;
Observe que este valor de voltaje corresponde a un valor
de corriente de 2 y un valor de resistencia de 10 cuando
se usa la ley de Ohm
Asignar datos a elementos de una
             Matriz
 los enunciados de asignación directa para extraer
  elementos son:

volts = voltaje[5][100];

En este caso se asigna a un identificador variable el valor
del elemento almacenado en la posición fila/columna
dentro del arreglo.
INICILIZACION DE UNA MATRIZ
Es posible declarar e inicializar un arreglo en una misma vez.
Por ejemplo:                  b[2][2]
int b[2][2] = { {1, 2}, {3, 4} };
Los valores se agrupan por filas entre corchetes. Por lo
tanto, 1 y 2 inicializan a b[0][0] y b[0][1] y 3 y 4 inicializan a
b[1][0] y b[1][1]

 Si no hay suficientes inicializadores para una fila
  determinada, los elementos se inicializan a 0. Por lo
  tanto, la declaración:
int b[2][2] = { {1}, {3, 4} };
inicializan a b[0][0] a 1, y b[0][1] a 0, b[1][0] a 3, y b[1][1] a 4.
LECTURA Y ESCRITURA DE ELEMENTOS
  EN ARREGLOS BIDIMENSIONALES
Es posible usar enunciados cin para insertar elementos
en arreglos bidimensionales y utilizar enunciados cout
para extraer elementos del arreglo, como los siguientes
ejemplos:

 cin >> voltaje[5][20];
 cout << voltaje[5][20];
Ejemplo:
   Este ejemplo nos presenta el menú , en un restaurante:
#include <iostream>
using namespace std;

#define DIMENSION ((int) (sizeof mst / sizeof mst [0]))

struct St {
  int orden;
 char* plato;
 char* desc;
} mst [] = {
  1, "Entrada", "Sopa juliana",
  2, "Segundo", "Filete empanado",
  3, "Postre ", "Tarta al Whisky",
};



int main()
 {
  for (int i = 0 ; i < DIMENSION; i++)
    cout << mst[i].orden << " " << mst[i].plato << " " << mst[i].desc << endl;
  return 0;
}
CÓMO RECORRER UNA MATRIZ?
Para recorrer una matriz necesitamos dos bucles anidados. Por ejemplo, si
se desea recorrer todos los elementos de la matriz A por filas, se escribirán
dos sentencias for anidadas:

for i=1: nfilasA % para cada fila
for j=1: ncolsA
sentencias
end
end
También es posible recorrer la matriz por columnas:
for j=1: ncolsA % para cada columna
for i=1: nfilasA
sentencias
end
end
ALMACENAMIENTO DE ARRAYS EN
MEMORIA
El almacenamiento en memoria, está dispuesto en
secuencia contigua de modo que cada acceso debe
convertir la posición dentro del array en una posición
dentro de una línea.
Lee los datos de una matriz 3x4 y muestra en pantalla
             la suma de los datos de cada fila
#include <iostream>
#include <stdlib.h>
#include <conio.h>
using namespace std;
/*Este programa lee los datos de una matriz 3x4 y muestra en pantalla
la suma de los datos de cada fila */
int main()
{
int matriz[3][4];
int arreglo[3];
int i,j;
//Ingreso de los datos
for (i=0;i<3;i++)
   {
      for (j=0;j<4;j++)
      {
cout << "Ingrese el numero entero correspondiente a la posicion ["<<i<<"] ["<<j<<"]: ";
      cin >> matriz[i][j];
      }
  }
//Muestra en pantalla la matriz ingresada
cout << "nLa matriz que usted ingreso es: nn";
  for (i=0;i<3;i++)
  {
      for (j=0;j<4;j++)
      {
      cout << matriz[i][j]<<" ";
      }
cout << "n";
  }
//Suma los datos de cada fila
for (i=0;i<3;i++)
  {
      arreglo[i]=0;
      for (j=0;j<4;j++)
      {
      arreglo[i]=arreglo[i]+matriz[i][j];
      }
  }
//Muestra en pantalla los resultados
for (i=0;i<3;i++)
  {
      cout << "nLa suma de los datos de la fila "<<i<<" es: " << arreglo[i];
  }
getch();
}
Operaciones con matrices:
Al igual que en matemática, las operaciones con
matrices, se ejecutan de la siguiente manera:
En teoría se hace así (suma):
Suma y Resta de Matrices
#include <iostream.>
  #include <stdlib.h>
  using namespace std;

  int operacion(int [][100], int [][100], int [][100], int , int , int, int, int);

  int main()
  {
    int n,f,c,r,f1,f2,c1,c2, m1[100][100], m2[100][100], mr[100][100];
    cout<<"Presione 1 para Sumar"<<endl<<"Presione 2 para Restar"<<endl<<" Presione otro numero para
Salir"<<endl; cin>>n;
    while ((n>0) && (n<3))
     {
      f1=0; c1=0; f2=0; c2=0;
      while ((f1<1) || (f1>101))
       { cout<<"Introduce las filas de la matriz 1 [1-100]: "; cin>>f1; }
      while ((c1<1) || (c1>101))
       { cout<<"Introduce las columnas de la matriz 1 [1-100]: "; cin>>c1; }

     for (f=0; f<=f1; f++)
      {
       for (c=0; c<=c1; c++)
        { cout<<"m1["<<f<<"]["<<c<<"] = "; cin>>m1[f][c]; }
      }
while ((f2<1) || (f2>101))
     { cout<<endl<<"Introduce las filas de la matriz 2 [1-100]: "; cin>>f2; }
     while ((c2<1) || (c2>101))
     { cout<<"Introduce las columnas de la matriz 2 [1-100]: "; cin>>c2; }

      for (f=0; f<=f2; f++)
       {
        for (c=0; c<=c2; c++)
          { cout<<"m2["<<f<<"]["<<c<<"] = "; cin>>m2[f][c]; }
       }
r=operacion(m1,m2,mr,n,f1,f2,c1,c2);
      if (r==-1) cout<<endl<<"No se pudo realizar la operacion; las matrices no son del mismo tamanio"<<endl;
      else
        {
         for (f=0; f<=f2; f++)
           {
            for (c=0; c<=c2; c++)
             cout<<" "<<mr[f][c]<<" ";
            cout<<endl;
           }
        }
      cout<<endl<<"1 -- Sumar"<<endl<<"2 -- Restar"<<endl<<"Otro numero -- Salir"<<endl; cin>>n;
     }
    cout<<endl<<"Fin de programa..."<<endl;
    system("PAUSE");
    return 0;
  }
int operacion(int m1[][100], int m2[][100], int mr[][100], int n, int f1, int f2,int c1, int c2)
  {
    int f,c;
    if ((f1==f2) && (c1==c2)) //si si se pueden sumar/restar
      {
       if (n==1) //suma
         {
          for (f=0; f<=f1; f++)
           {
            for (c=0; c<=c1; c++)
             mr[f][c] = m1[f][c] + m2[f][c];
           }
         }
       else //resta
         {
          for (f=0; f<=f1; f++)
           {
            for (c=0; c<=c1; c++)
             mr[f][c] = m1[f][c] - m2[f][c];
           }
         }
       return 1;
      }
    else
      {return -1;}
  }

More Related Content

What's hot

Aplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionalesAplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionalesmarigelcontreras
 
Unidad 3 estructura lineales
Unidad 3 estructura linealesUnidad 3 estructura lineales
Unidad 3 estructura linealesEnrique2194
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relaciónjosecuartas
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos Kaneki04
 
Ejemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivasEjemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivasJunior Solano de Arco
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Sergio Sanchez
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosjosecuartas
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigoepetekaun
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamientoLalo Chooper
 
Ejercicio de estructuras_condicionales
Ejercicio de estructuras_condicionalesEjercicio de estructuras_condicionales
Ejercicio de estructuras_condicionalesRenzo Bernabe Aguilar
 
Almacenar 10posiciones los 10 primeros números primero comprendidos entre 15...
Almacenar 10posiciones los 10 primeros números  primero comprendidos entre 15...Almacenar 10posiciones los 10 primeros números  primero comprendidos entre 15...
Almacenar 10posiciones los 10 primeros números primero comprendidos entre 15...Jezreel Castillo
 

What's hot (20)

Arreglos
ArreglosArreglos
Arreglos
 
Aplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionalesAplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionales
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
17 arreglos bidimensionales java
17 arreglos bidimensionales java17 arreglos bidimensionales java
17 arreglos bidimensionales java
 
Matrices pseint
Matrices   pseintMatrices   pseint
Matrices pseint
 
Unidad 3 estructura lineales
Unidad 3 estructura linealesUnidad 3 estructura lineales
Unidad 3 estructura lineales
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Ejemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivasEjemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivas
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
 
Pruebas de escritorio
Pruebas de escritorioPruebas de escritorio
Pruebas de escritorio
 
arreglos y matrices
arreglos  y matricesarreglos  y matrices
arreglos y matrices
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datos
 
Ordenamiento por insercion
Ordenamiento por insercionOrdenamiento por insercion
Ordenamiento por insercion
 
Expresiones logicas
Expresiones logicasExpresiones logicas
Expresiones logicas
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Ejercicio de estructuras_condicionales
Ejercicio de estructuras_condicionalesEjercicio de estructuras_condicionales
Ejercicio de estructuras_condicionales
 
Almacenar 10posiciones los 10 primeros números primero comprendidos entre 15...
Almacenar 10posiciones los 10 primeros números  primero comprendidos entre 15...Almacenar 10posiciones los 10 primeros números  primero comprendidos entre 15...
Almacenar 10posiciones los 10 primeros números primero comprendidos entre 15...
 

Similar to Matrices-subíndices-elementos

Similar to Matrices-subíndices-elementos (20)

Grupo4
Grupo4Grupo4
Grupo4
 
Grupo4
Grupo4Grupo4
Grupo4
 
Grupo4
Grupo4Grupo4
Grupo4
 
Grupo4
Grupo4Grupo4
Grupo4
 
Grupo4
Grupo4Grupo4
Grupo4
 
Arrays Bidimensionales y Multidimensionales - Carlos Correa
Arrays Bidimensionales y Multidimensionales - Carlos CorreaArrays Bidimensionales y Multidimensionales - Carlos Correa
Arrays Bidimensionales y Multidimensionales - Carlos Correa
 
Arraysbidimensionales
ArraysbidimensionalesArraysbidimensionales
Arraysbidimensionales
 
Matrices en java
Matrices en javaMatrices en java
Matrices en java
 
Arreglos. lidia
Arreglos. lidiaArreglos. lidia
Arreglos. lidia
 
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
 
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
 
1 matrices haeussler y richard-240-317
1 matrices  haeussler y richard-240-3171 matrices  haeussler y richard-240-317
1 matrices haeussler y richard-240-317
 
Arrays unidimensionales
Arrays unidimensionalesArrays unidimensionales
Arrays unidimensionales
 
11 arreglos-multidimensionales
11 arreglos-multidimensionales11 arreglos-multidimensionales
11 arreglos-multidimensionales
 
Pres arreglosmat animacion
Pres arreglosmat animacionPres arreglosmat animacion
Pres arreglosmat animacion
 
Matrices
MatricesMatrices
Matrices
 
arrays
arraysarrays
arrays
 
06 - Arrays y matrices en lenguaje C
06 - Arrays y matrices en lenguaje C06 - Arrays y matrices en lenguaje C
06 - Arrays y matrices en lenguaje C
 
11_Matrices.pptx
11_Matrices.pptx11_Matrices.pptx
11_Matrices.pptx
 
Clase integracion matlab
Clase integracion matlabClase integracion matlab
Clase integracion matlab
 

Recently uploaded

Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfluisantoniocruzcorte1
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfCarol Andrea Eraso Guerrero
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
La evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariaLa evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariamarco carlos cuyo
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 

Recently uploaded (20)

Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
La evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariaLa evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundaria
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 

Matrices-subíndices-elementos

  • 1. Una matriz es un vector de vectores, o conjunto de elementos siempre del mismo tipo.
  • 2. Cada elemento es una casilla, con posición: elemento [1:8,a:h]; dependiendo de la fila y columna donde encuentren.
  • 3. ELEMENTOS DE LA MATRIZ Para identificar los elementos de la matriz, se utilizan dos subíndices:  El primero, indica la fila donde se ubica.  El segundo, indica en qué columna está. Por ejemplo: M[2,3] Se refiere al elemento ubicado en la segunda fila y tercera columna.
  • 4. LÍMITES DE LOS SUBÍNDICES DE LA MATRIZ Un array bidimensional, posee límites: superior,e inferior para su número de filas y columnas. De ahí que: B(L1:U1,L2:U2)={B[I,J]} L<-Límite inferior ; U<-límite superior Donde L1<-I<-U1 L2<-J<-U2 Cada elemento B[I,J] es de tipo T El número de elementos de la fila es B es U2-L2+1 y el número de elementos de la columna B ES U1-L1+1; por ello el número de elementos del array es (U2-L2+1)*( U1-L1+1)
  • 5. DECLARACIÓN DE UNA MATRIZ Una matriz se declara usando el siguiente formato:  <TIPO> <NOMBREmatriz> [<N>][<M>] ; Por ejemplo: Se quiere declarar una matriz con nombre mat, de dimensión 15x4 y que pueda almacenar datos de tipo carácter. char mat [15][4];
  • 6. Por ejemplo, una matriz bidimensional se puede imaginar como una tabla bidimensional compuesta de elementos, todos ellos de un mismo tipo de datos uniforme. jimmy representa una matriz bidimensional de 3 por 5 elementos de tipo int. La manera de declarar esta matriz en C + + sería: int jimmy [3][5]; y, por ejemplo, la manera de hacer referencia al segundo elemento vertical y horizontal en el cuarto una expresión sería: jimmy[1][3] (Recuerde que los índices comienzan siempre por cero).
  • 7. ASIGNACIÓN DIRECTA DE ELEMENTOS DE UN ARREGLO BIDIMENSIONAL ( Inserción de elementos)  <nombre del arreglo> [índice de fila][índice de columna] = valor del elemento;
  • 8. FORMATO DE ASIGNACIÓN DIRECTA A UN ARREGLO BIDIMENSIONAL (extracción de elementos)  <identificador variable> =<nombre del arreglo>[índice de fila][índice de columna];
  • 9. Dadas las siguientes definiciones de arreglo bidimensional, dibuje un diagrama de la estructura del arreglo mostrando los índices respectivos de filas y columnas. int voltaje[CORRIENTE][RESISTENCIA];  const int CORRIENTE = 26;  const int RESISTENCIA = 1001; Las asignacion directa posibles para la inserción de un valor eso: voltaje[2][10] = 20; Observe que este valor de voltaje corresponde a un valor de corriente de 2 y un valor de resistencia de 10 cuando se usa la ley de Ohm
  • 10. Asignar datos a elementos de una Matriz  los enunciados de asignación directa para extraer elementos son: volts = voltaje[5][100]; En este caso se asigna a un identificador variable el valor del elemento almacenado en la posición fila/columna dentro del arreglo.
  • 11. INICILIZACION DE UNA MATRIZ Es posible declarar e inicializar un arreglo en una misma vez. Por ejemplo: b[2][2] int b[2][2] = { {1, 2}, {3, 4} }; Los valores se agrupan por filas entre corchetes. Por lo tanto, 1 y 2 inicializan a b[0][0] y b[0][1] y 3 y 4 inicializan a b[1][0] y b[1][1]  Si no hay suficientes inicializadores para una fila determinada, los elementos se inicializan a 0. Por lo tanto, la declaración: int b[2][2] = { {1}, {3, 4} }; inicializan a b[0][0] a 1, y b[0][1] a 0, b[1][0] a 3, y b[1][1] a 4.
  • 12. LECTURA Y ESCRITURA DE ELEMENTOS EN ARREGLOS BIDIMENSIONALES Es posible usar enunciados cin para insertar elementos en arreglos bidimensionales y utilizar enunciados cout para extraer elementos del arreglo, como los siguientes ejemplos:  cin >> voltaje[5][20];  cout << voltaje[5][20];
  • 13. Ejemplo:  Este ejemplo nos presenta el menú , en un restaurante: #include <iostream> using namespace std; #define DIMENSION ((int) (sizeof mst / sizeof mst [0])) struct St { int orden; char* plato; char* desc; } mst [] = { 1, "Entrada", "Sopa juliana", 2, "Segundo", "Filete empanado", 3, "Postre ", "Tarta al Whisky", }; int main() { for (int i = 0 ; i < DIMENSION; i++) cout << mst[i].orden << " " << mst[i].plato << " " << mst[i].desc << endl; return 0; }
  • 14. CÓMO RECORRER UNA MATRIZ? Para recorrer una matriz necesitamos dos bucles anidados. Por ejemplo, si se desea recorrer todos los elementos de la matriz A por filas, se escribirán dos sentencias for anidadas: for i=1: nfilasA % para cada fila for j=1: ncolsA sentencias end end También es posible recorrer la matriz por columnas: for j=1: ncolsA % para cada columna for i=1: nfilasA sentencias end end
  • 15. ALMACENAMIENTO DE ARRAYS EN MEMORIA El almacenamiento en memoria, está dispuesto en secuencia contigua de modo que cada acceso debe convertir la posición dentro del array en una posición dentro de una línea.
  • 16. Lee los datos de una matriz 3x4 y muestra en pantalla la suma de los datos de cada fila #include <iostream> #include <stdlib.h> #include <conio.h> using namespace std; /*Este programa lee los datos de una matriz 3x4 y muestra en pantalla la suma de los datos de cada fila */ int main() { int matriz[3][4]; int arreglo[3]; int i,j; //Ingreso de los datos for (i=0;i<3;i++) { for (j=0;j<4;j++) {
  • 17. cout << "Ingrese el numero entero correspondiente a la posicion ["<<i<<"] ["<<j<<"]: "; cin >> matriz[i][j]; } } //Muestra en pantalla la matriz ingresada cout << "nLa matriz que usted ingreso es: nn"; for (i=0;i<3;i++) { for (j=0;j<4;j++) { cout << matriz[i][j]<<" "; } cout << "n"; } //Suma los datos de cada fila for (i=0;i<3;i++) { arreglo[i]=0; for (j=0;j<4;j++) { arreglo[i]=arreglo[i]+matriz[i][j]; } } //Muestra en pantalla los resultados for (i=0;i<3;i++) { cout << "nLa suma de los datos de la fila "<<i<<" es: " << arreglo[i]; } getch(); }
  • 18. Operaciones con matrices: Al igual que en matemática, las operaciones con matrices, se ejecutan de la siguiente manera: En teoría se hace así (suma):
  • 19. Suma y Resta de Matrices #include <iostream.> #include <stdlib.h> using namespace std; int operacion(int [][100], int [][100], int [][100], int , int , int, int, int); int main() { int n,f,c,r,f1,f2,c1,c2, m1[100][100], m2[100][100], mr[100][100]; cout<<"Presione 1 para Sumar"<<endl<<"Presione 2 para Restar"<<endl<<" Presione otro numero para Salir"<<endl; cin>>n; while ((n>0) && (n<3)) { f1=0; c1=0; f2=0; c2=0; while ((f1<1) || (f1>101)) { cout<<"Introduce las filas de la matriz 1 [1-100]: "; cin>>f1; } while ((c1<1) || (c1>101)) { cout<<"Introduce las columnas de la matriz 1 [1-100]: "; cin>>c1; } for (f=0; f<=f1; f++) { for (c=0; c<=c1; c++) { cout<<"m1["<<f<<"]["<<c<<"] = "; cin>>m1[f][c]; } }
  • 20. while ((f2<1) || (f2>101)) { cout<<endl<<"Introduce las filas de la matriz 2 [1-100]: "; cin>>f2; } while ((c2<1) || (c2>101)) { cout<<"Introduce las columnas de la matriz 2 [1-100]: "; cin>>c2; } for (f=0; f<=f2; f++) { for (c=0; c<=c2; c++) { cout<<"m2["<<f<<"]["<<c<<"] = "; cin>>m2[f][c]; } } r=operacion(m1,m2,mr,n,f1,f2,c1,c2); if (r==-1) cout<<endl<<"No se pudo realizar la operacion; las matrices no son del mismo tamanio"<<endl; else { for (f=0; f<=f2; f++) { for (c=0; c<=c2; c++) cout<<" "<<mr[f][c]<<" "; cout<<endl; } } cout<<endl<<"1 -- Sumar"<<endl<<"2 -- Restar"<<endl<<"Otro numero -- Salir"<<endl; cin>>n; } cout<<endl<<"Fin de programa..."<<endl; system("PAUSE"); return 0; }
  • 21. int operacion(int m1[][100], int m2[][100], int mr[][100], int n, int f1, int f2,int c1, int c2) { int f,c; if ((f1==f2) && (c1==c2)) //si si se pueden sumar/restar { if (n==1) //suma { for (f=0; f<=f1; f++) { for (c=0; c<=c1; c++) mr[f][c] = m1[f][c] + m2[f][c]; } } else //resta { for (f=0; f<=f1; f++) { for (c=0; c<=c1; c++) mr[f][c] = m1[f][c] - m2[f][c]; } } return 1; } else {return -1;} }