SlideShare una empresa de Scribd logo
1 de 6
Arreglos en programación con Lenguaje C++

Definición.
Es un grupo de ubicaciones de memoria del mismo tipo que tienen el mismo
nombre.

Manipulación.
Todo arreglo se declara y se designa un nombre. Se debe declarar el número
exacto de ubicaciones de memoria a ser reservados.
Mediante el uso de subíndice o número de índice se puede acceder a cada
elemento o ubicación de memoria individual del arreglo. Los subíndices
empiezan por lo general en cero(0).

Declaración.
int arr[6];
Le dice al compilador que separe 6 ubicaciones de memoria(0 a 5) para el
tipo de dato entero. Cada subindice se especifica por medio de corchetes [ ] en
lugar de paréntesis como usan otros lenguajes.

Declaración e inicialización
int arr [6] = { 5, 10, 15, 20, 25,30 };
arr[0] = 5
arr[1] = 10
arr[5] = 30
La instrucción
int arr [6] = { 0 }; Inicializa todos los elementos del arreglo en cero al mismo
tiempo.

Arreglos Multidimensionales.
Obedecen a las reglas de los arreglos unidimensionales. Se especifíca el # de
ubicaciones de memoria. Todo arreglo tiene un nombre y con su numero de
fila y columna se puede acceder a cada elemento.

Declaración
int tabla [3][3];
La mayor parte del procesamiento de estos arreglos se logra mediante el uso
de ciclos anidados, uno para las filas y otro para las columnas.

Declaración e inicialización
int tabla [3][3]= { { 1,1,1 }, { 2,2,2 }, { 3,3,3 } };
Manejo de arreglos. Unidimensional.
Determinar el mayor en un arreglo de enteros. En una funcion.
int mayor(int tab[],int n)
{ int i, nr;
nr=tab[];
for(i=0;i<n;i++)
if(tab[i] > nr)
nr=tab[i];
return 0;
}

Manejo de arreglos. bidimensional.
Llenar una matriz
#include <stdio.h>
Int mat[3][3];
Void main()
{ int i, j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf(“%d”, &mat[i][j];
}

LOS ARREGLOS
Definición:
           <tipo> <variable> [ N ]
Declara un arreglo de nombre <variable> con N elementos de tipo <tipo>, (N es una
constante).
                 Ejemplo: int a[10];
Referencia o direccionamiento:
Se hace referencia al (x + 1) elemento del arreglo definido anterioremente mediante la
expresión:
              a [x]
donde x puede ser:
     1. una variable entera;
     2. el resultado de una expresión aritmética.

Notas sobre los arreglos
1. el valor de x debe de estar entre 0 y N
Ejemplo:
main()
{
              int t[100];
              int i;
              char c;
              c='3'; i=50;
              t[c-'0']=12;                  mete 12 en t[3], (4o. elemento de t)
              t[i*2-1]=t[i];                 mete 15 en t[50], (51 elemento de t)
              t[102]=-1;                    Después ejecución dos instrucciones:
              t[-1]=102;                    error dirección, o ''aplastamiento'' de variables
vecinas
}


Ejemplo uso arreglos
/* Ordenamiento de un arreglo de enteros */
#include <stdio.h>
     main()
{
            int ti[10];
            int i,j,tempo;
/* Capturando los valores del arreglo */
            for (i=0; i!10; i=i+1)
{
            printf(''De valor de t[%d]: '', i+1);
            scanf(''%d'',&ti[i]);
}


/* Ordenando el arreglo */
            for (i=0; i!10; i=i+1)
                  for (j=0; j!10; j=j+1)
                        if ( ti[i] ! ti[j] )
                               {
                                  tempo = ti[i];
                                  ti[i]=t[j];
                                  ti[j]=tempo;
                               }
/* Desplegando el contenido del archivo */
            for(i=0; i!10; i=i+1)
                  printf(''%3d'', ti[i]);
                  printf(''nn'');
}
  Paso de arreglos como parámetros
    • Todos los arreglos, independientemente de su declaración, se pasan por dirección.
    • Dependiendo de la dimensión del arreglo sera necesario, o no, precisar el tamaño
       del arreglo, (a lo más una dimensión puede no estar especificada).
•   Existen dos formas de pasar un arreglo como parámetro, y de declarar un parámetro
        como arreglo.
    • Considerando la siguiente declaración de variables:
                int tab[10];
                float prom;
 En la función se pueden precisar los arreglos como parámetros de alguna de las dos
siguientes formas:
             1. int funcion(float p; int tabla[]);
             2. int funcion(float p; int tabla[10]);
independientemente de la declaración los arreglos se pueden pasar de algunas de las dos
siguientes formas:
             (a) x = funcion(prom; tabla);
             (b) x = funcion(prom; &tabla[0]);

Ejemplo paso arreglos como parámetros
/* Cálculo de la variancia de 10 números


#include <stdio.h>
      main()
{
              float t[10], t2[10];
              float m1, m2;
              int i;
              for (i=0; i!10; i=i+1)
                     {
                       printf(''De valor de t[%d]:'',i);
                       scanf(''%f'',&t[i]);
                     }
              m1=promedio(t);
              potencia(t,t2);
              m2=promedio(&t2[0]);
              printf(''varianza:%dnn'',m2-(m1*m1));
}
/* Definición función promedio(t) */
float promedio(t)
       float t[ ];
{

        int i;
        float s;

        for (s=0, i=0; i!10; i=i+1)
              s=s+t[i];
             return(s/10);
}
/* Función que eleva los elementos del arreglo al cuadrado */
potencia(t,res)
       float t[10],res[];
{
       int i;
       for (i=0; i!10; i=i+1)
              res[i]=t[i]*t[i];
}

Ejemplo uso arreglos de dos dimensiones
/* Suma de matrices */
     main()
{
                 float a[10][10], b[10][10], c[10][10];
                 captura(a);
                 captura(b);
                 suma(a,b,c);
                 imprime(c);
}
/* Función que captura los valores de una matriz */
captura(a)
          float a[10][10];
{
          int i,j;
          for (i=0; i<10; i++)
          for (j=0; j<10; j++)
                 {
                    printf(''Valor a[%d,%d]:''i,j);
                    scanf(''%f'',&a[i][j]);
                 }
}
/* Sumando dos matrices */
suma(a,b,c);
          float a[10][10], b[10][10], c[ ][10];
{
          int i,j;
          for (i=0; i!10; i++)
                 for (j=0; j!10; j++)
                 c= a[i][j] + b[i][j];
}
/* Desplegando el contenido de una matriz */
despliega(a)
          float a[ ][10];
{
          int i,j;
          for (i=0; i!10; i++)
                 {
                    for (j=0; j!10; j++)
printf('' %.2f '',a[i][j]);
                   printf(''nn'');
              }
}

Nota: para abundar puede visitar http://webdia.cem.itesm.mx/ac/rogomez/Tutorial-
LengC/principal.html

Más contenido relacionado

La actualidad más candente (17)

Programa
ProgramaPrograma
Programa
 
Colas 1er ejercicio
Colas 1er ejercicioColas 1er ejercicio
Colas 1er ejercicio
 
Informe tecnico
Informe tecnicoInforme tecnico
Informe tecnico
 
Bloque VI Integrales
Bloque VI IntegralesBloque VI Integrales
Bloque VI Integrales
 
Clase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacionClase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacion
 
Presentación1
Presentación1Presentación1
Presentación1
 
Punteros2
Punteros2Punteros2
Punteros2
 
Informe técnico 1
Informe técnico 1Informe técnico 1
Informe técnico 1
 
Problema c++
Problema c++Problema c++
Problema c++
 
Gotoxy
GotoxyGotoxy
Gotoxy
 
Lienzo.java
Lienzo.javaLienzo.java
Lienzo.java
 
Punteros 2012
Punteros 2012Punteros 2012
Punteros 2012
 
Presentación1
Presentación1Presentación1
Presentación1
 
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
 
Palindromos
PalindromosPalindromos
Palindromos
 
Jorge informe tecnico
Jorge informe tecnicoJorge informe tecnico
Jorge informe tecnico
 
Tp1
Tp1Tp1
Tp1
 

Destacado

Conciliacion
ConciliacionConciliacion
ConciliacionClariza
 
Revolucion abril
Revolucion abrilRevolucion abril
Revolucion abrilClariza
 
Pseudocodigos
PseudocodigosPseudocodigos
PseudocodigosClariza
 
SíMbolos Del Diccionario De Datos
SíMbolos Del Diccionario De DatosSíMbolos Del Diccionario De Datos
SíMbolos Del Diccionario De DatosClariza
 
Diccionario De Datos
Diccionario De DatosDiccionario De Datos
Diccionario De Datosnahun1385
 
Educacion comercial
Educacion comercialEducacion comercial
Educacion comercialClariza
 
Estructuras de seleccion
Estructuras de seleccionEstructuras de seleccion
Estructuras de seleccionClariza
 

Destacado (7)

Conciliacion
ConciliacionConciliacion
Conciliacion
 
Revolucion abril
Revolucion abrilRevolucion abril
Revolucion abril
 
Pseudocodigos
PseudocodigosPseudocodigos
Pseudocodigos
 
SíMbolos Del Diccionario De Datos
SíMbolos Del Diccionario De DatosSíMbolos Del Diccionario De Datos
SíMbolos Del Diccionario De Datos
 
Diccionario De Datos
Diccionario De DatosDiccionario De Datos
Diccionario De Datos
 
Educacion comercial
Educacion comercialEducacion comercial
Educacion comercial
 
Estructuras de seleccion
Estructuras de seleccionEstructuras de seleccion
Estructuras de seleccion
 

Similar a Arreglos

Clase 9- programacion
Clase 9- programacionClase 9- programacion
Clase 9- programaciondiego MC
 
ARRAYS (LISTAS Y TABLAS) EN C++
ARRAYS (LISTAS Y TABLAS) EN C++ARRAYS (LISTAS Y TABLAS) EN C++
ARRAYS (LISTAS Y TABLAS) EN C++die_dex
 
Lenguaje de programación c
Lenguaje de programación cLenguaje de programación c
Lenguaje de programación cvictdiazm
 
ESTRUCTURAS ARRAYS Y DATOS C++
ESTRUCTURAS ARRAYS Y DATOS C++ESTRUCTURAS ARRAYS Y DATOS C++
ESTRUCTURAS ARRAYS Y DATOS C++Riki Tapia
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datosRiki Tapia
 
El lenguaje de programacion c++ prev
El lenguaje de programacion c++ prevEl lenguaje de programacion c++ prev
El lenguaje de programacion c++ prevjtk1
 
Arreglos
ArreglosArreglos
ArreglosAnt Jfr
 
Arreglos bidimensionales o matrices
Arreglos bidimensionales o matricesArreglos bidimensionales o matrices
Arreglos bidimensionales o matricesAriannaYadiraT
 
Problemas resueltos de c++
Problemas  resueltos de c++Problemas  resueltos de c++
Problemas resueltos de c++johnny herrera
 
Pres arreglosmat animacion
Pres arreglosmat animacionPres arreglosmat animacion
Pres arreglosmat animacionJLAntonio
 
Programación en c (iii parte)
Programación en c (iii parte)Programación en c (iii parte)
Programación en c (iii parte)MarielaCuriel
 
Corridas de los ejercicios ya realizados
Corridas de los ejercicios ya realizadosCorridas de los ejercicios ya realizados
Corridas de los ejercicios ya realizadosdiegorap
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivasstarduslex
 

Similar a Arreglos (20)

Arrays unidimensionales
Arrays unidimensionalesArrays unidimensionales
Arrays unidimensionales
 
Clase 9- programacion
Clase 9- programacionClase 9- programacion
Clase 9- programacion
 
ARRAYS (LISTAS Y TABLAS) EN C++
ARRAYS (LISTAS Y TABLAS) EN C++ARRAYS (LISTAS Y TABLAS) EN C++
ARRAYS (LISTAS Y TABLAS) EN C++
 
Lenguaje de programación c
Lenguaje de programación cLenguaje de programación c
Lenguaje de programación c
 
ESTRUCTURAS ARRAYS Y DATOS C++
ESTRUCTURAS ARRAYS Y DATOS C++ESTRUCTURAS ARRAYS Y DATOS C++
ESTRUCTURAS ARRAYS Y DATOS C++
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
El lenguaje de programacion c++ prev
El lenguaje de programacion c++ prevEl lenguaje de programacion c++ prev
El lenguaje de programacion c++ prev
 
Estructuras
Estructuras Estructuras
Estructuras
 
Arreglos
ArreglosArreglos
Arreglos
 
Práctica 12
Práctica 12Práctica 12
Práctica 12
 
Arreglos bidimensionales o matrices
Arreglos bidimensionales o matricesArreglos bidimensionales o matrices
Arreglos bidimensionales o matrices
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
Universidad técnica de ambato
Universidad técnica de ambatoUniversidad técnica de ambato
Universidad técnica de ambato
 
Problemas resueltos de c++
Problemas  resueltos de c++Problemas  resueltos de c++
Problemas resueltos de c++
 
Pres arreglosmat animacion
Pres arreglosmat animacionPres arreglosmat animacion
Pres arreglosmat animacion
 
Programación en c (iii parte)
Programación en c (iii parte)Programación en c (iii parte)
Programación en c (iii parte)
 
Arreglos
ArreglosArreglos
Arreglos
 
Arreglos en C++
Arreglos en C++Arreglos en C++
Arreglos en C++
 
Corridas de los ejercicios ya realizados
Corridas de los ejercicios ya realizadosCorridas de los ejercicios ya realizados
Corridas de los ejercicios ya realizados
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivas
 

Arreglos

  • 1. Arreglos en programación con Lenguaje C++ Definición. Es un grupo de ubicaciones de memoria del mismo tipo que tienen el mismo nombre. Manipulación. Todo arreglo se declara y se designa un nombre. Se debe declarar el número exacto de ubicaciones de memoria a ser reservados. Mediante el uso de subíndice o número de índice se puede acceder a cada elemento o ubicación de memoria individual del arreglo. Los subíndices empiezan por lo general en cero(0). Declaración. int arr[6]; Le dice al compilador que separe 6 ubicaciones de memoria(0 a 5) para el tipo de dato entero. Cada subindice se especifica por medio de corchetes [ ] en lugar de paréntesis como usan otros lenguajes. Declaración e inicialización int arr [6] = { 5, 10, 15, 20, 25,30 }; arr[0] = 5 arr[1] = 10 arr[5] = 30 La instrucción int arr [6] = { 0 }; Inicializa todos los elementos del arreglo en cero al mismo tiempo. Arreglos Multidimensionales. Obedecen a las reglas de los arreglos unidimensionales. Se especifíca el # de ubicaciones de memoria. Todo arreglo tiene un nombre y con su numero de fila y columna se puede acceder a cada elemento. Declaración int tabla [3][3]; La mayor parte del procesamiento de estos arreglos se logra mediante el uso de ciclos anidados, uno para las filas y otro para las columnas. Declaración e inicialización int tabla [3][3]= { { 1,1,1 }, { 2,2,2 }, { 3,3,3 } };
  • 2. Manejo de arreglos. Unidimensional. Determinar el mayor en un arreglo de enteros. En una funcion. int mayor(int tab[],int n) { int i, nr; nr=tab[]; for(i=0;i<n;i++) if(tab[i] > nr) nr=tab[i]; return 0; } Manejo de arreglos. bidimensional. Llenar una matriz #include <stdio.h> Int mat[3][3]; Void main() { int i, j; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf(“%d”, &mat[i][j]; } LOS ARREGLOS Definición: <tipo> <variable> [ N ] Declara un arreglo de nombre <variable> con N elementos de tipo <tipo>, (N es una constante). Ejemplo: int a[10]; Referencia o direccionamiento: Se hace referencia al (x + 1) elemento del arreglo definido anterioremente mediante la expresión: a [x] donde x puede ser: 1. una variable entera; 2. el resultado de una expresión aritmética. Notas sobre los arreglos 1. el valor de x debe de estar entre 0 y N Ejemplo:
  • 3. main() { int t[100]; int i; char c; c='3'; i=50; t[c-'0']=12; mete 12 en t[3], (4o. elemento de t) t[i*2-1]=t[i]; mete 15 en t[50], (51 elemento de t) t[102]=-1; Después ejecución dos instrucciones: t[-1]=102; error dirección, o ''aplastamiento'' de variables vecinas } Ejemplo uso arreglos /* Ordenamiento de un arreglo de enteros */ #include <stdio.h> main() { int ti[10]; int i,j,tempo; /* Capturando los valores del arreglo */ for (i=0; i!10; i=i+1) { printf(''De valor de t[%d]: '', i+1); scanf(''%d'',&ti[i]); } /* Ordenando el arreglo */ for (i=0; i!10; i=i+1) for (j=0; j!10; j=j+1) if ( ti[i] ! ti[j] ) { tempo = ti[i]; ti[i]=t[j]; ti[j]=tempo; } /* Desplegando el contenido del archivo */ for(i=0; i!10; i=i+1) printf(''%3d'', ti[i]); printf(''nn''); } Paso de arreglos como parámetros • Todos los arreglos, independientemente de su declaración, se pasan por dirección. • Dependiendo de la dimensión del arreglo sera necesario, o no, precisar el tamaño del arreglo, (a lo más una dimensión puede no estar especificada).
  • 4. Existen dos formas de pasar un arreglo como parámetro, y de declarar un parámetro como arreglo. • Considerando la siguiente declaración de variables: int tab[10]; float prom; En la función se pueden precisar los arreglos como parámetros de alguna de las dos siguientes formas: 1. int funcion(float p; int tabla[]); 2. int funcion(float p; int tabla[10]); independientemente de la declaración los arreglos se pueden pasar de algunas de las dos siguientes formas: (a) x = funcion(prom; tabla); (b) x = funcion(prom; &tabla[0]); Ejemplo paso arreglos como parámetros /* Cálculo de la variancia de 10 números #include <stdio.h> main() { float t[10], t2[10]; float m1, m2; int i; for (i=0; i!10; i=i+1) { printf(''De valor de t[%d]:'',i); scanf(''%f'',&t[i]); } m1=promedio(t); potencia(t,t2); m2=promedio(&t2[0]); printf(''varianza:%dnn'',m2-(m1*m1)); } /* Definición función promedio(t) */ float promedio(t) float t[ ]; { int i; float s; for (s=0, i=0; i!10; i=i+1) s=s+t[i]; return(s/10); } /* Función que eleva los elementos del arreglo al cuadrado */
  • 5. potencia(t,res) float t[10],res[]; { int i; for (i=0; i!10; i=i+1) res[i]=t[i]*t[i]; } Ejemplo uso arreglos de dos dimensiones /* Suma de matrices */ main() { float a[10][10], b[10][10], c[10][10]; captura(a); captura(b); suma(a,b,c); imprime(c); } /* Función que captura los valores de una matriz */ captura(a) float a[10][10]; { int i,j; for (i=0; i<10; i++) for (j=0; j<10; j++) { printf(''Valor a[%d,%d]:''i,j); scanf(''%f'',&a[i][j]); } } /* Sumando dos matrices */ suma(a,b,c); float a[10][10], b[10][10], c[ ][10]; { int i,j; for (i=0; i!10; i++) for (j=0; j!10; j++) c= a[i][j] + b[i][j]; } /* Desplegando el contenido de una matriz */ despliega(a) float a[ ][10]; { int i,j; for (i=0; i!10; i++) { for (j=0; j!10; j++)
  • 6. printf('' %.2f '',a[i][j]); printf(''nn''); } } Nota: para abundar puede visitar http://webdia.cem.itesm.mx/ac/rogomez/Tutorial- LengC/principal.html