SlideShare una empresa de Scribd logo
1 de 19
Arreglos
Operaciones especiales
• Suma implicita de elementos del arreglo:
  – Arr[i]+=5 -- significa que al elemento i se le suma
    el valor de 5 y se guarda en ese elemento
  – Al igual que la suma se puede realizar la división u
    otra operación
• Incremento de elementos:
  – ++arreglo[i] o arreglo[i]++ -- incrementa el
    elemento i en 1
Operaciones con arreglos
• Recorrido y operaciones con elementos de
  arreglos
  – While (i<5) Arr[i++]+=2; – En un arreglo de 5
    elementos, sumarle 2 a cada elemento
• Tamibien se puede utilizar la variante de
  incremento en 1
  – While (i<5) Arr[i++]++; o al revés ++Arr[i++]; Se
    reducen líneas de código en forma significativa
Arreglos multidimensiones
• Bidimensionales o multidimensionales
  – Utilización de 2 ó más índices al momento de las
    declaraciones
  – Utilización de 2 ó más for uno para el ciclo de
    cada indice
• Operaciones tradicionales similares a los
  unidimensionales
Arreglos multidimensionales
• La carga es similar que con las
  unidimensionales
• Otra forma de carga es:
  – Int arre[3][3]={{1,2,3},
                    {4,5,6},
                    {7,8,9}};
• Los elementos se referencia según su posición
  de fila y columna
Funciones y Arreglos
• Prototipo de funciones con referencia a
  arreglos unidimensionales
  – Tipo1 ndefuncion (tipo2 [], tipo3 ); Tipo1 es el
    tipo de retorno de funciones, tipo2 tipo de datos
    del arreglo, tipo3 es el tipo de dato del tamaño del
    arreglo. Estos dos datos deben ser enviados
    dentro de las funciones
Funciones y Arreglos
• Definición de funciones con arreglos
  unidimensionales
  – Tipo1 ndefuncion (tipo2 nom[], tipo3 var)
     • tipo1 es el tipo de retorno de funciones, tipo2 tipo de
       datos del arreglo, nom es el nombre del arreglo, tipo3
       es el tipo de dato de la variable var cantidad de
       elementos. Estos tres datos son recibido en las
       funciones.
Funciones y Arreglos
• Llamada de funciones con referencia a
  arreglos unidimensionales
  – ndefuncion (nom, var);
  – Donde nom es el nombre del arreglo y var la
    cantidad de elementos del arreglo.
  – La facilidad de esta llamada es que sólo requiere
    enviar el nombre del arreglo unidimensional.
Conceptualización de los Arreglos
• Todos los arreglos son declarados a nivel de
  memoria, dentro del computador, por ello una
  vez declarado puede ser referenciado a nivel
  de memoria desde el programa y desde
  cualquiera función
• Cómo sucede esto?
Arreglos en memoria
• Al declarar un arreglo se crea una referencia en
  la memoria, al primer elemento del arreglo.
• Es por eso que basta con utilizar el nombre del
  arreglo para tener acceso a todos los
  elementos del mismo. Aquí el arreglo
     int ARR[5];
             2     5     10    9      3
              0     1     2     3     4
La función FUN con el arreglo ARR
• Int FUN (int [], int);
• Primera Línea de la definición:
  – Int FUN (int ARR[], int n)
• La llamada de FUN:
  – Sale= FUN(ARR, n);
Funciones y Arreglos
• Prototipo de funciones con referencia a
  arreglos multidimensionales
  – Tipo1 ndefuncion (tipo2 [][tam], tipo3, tipo 4 );
    Tipo1 es el tipo de retorno de funciones, tipo2
    tipo de datos del arreglo, tipo3 es el tipo de dato
    de la cantidad de filas, tipo4 es el tipo de dato de
    la cantidad de columnas. Estos tres datos deben
    ser enviados dentro de las funciones.
  – tam debe tener un valor definido a la hora del
    prototipo
Funciones y Arreglos
• Definición de funciones con arreglos
  multidimensionales
  – Tipo1 ndefuncion (tipo2 nom [][tam], tipo3 var1,
    tipo 4 var2)
     • tipo1 es el tipo de retorno de funciones, tipo2 tipo de
       datos del arreglo, nom es el nombre del arreglo, tipo3
       es la cantidad de filas identificada en la variable var1 y
       la cantidad de columnas identificada en la variable
       var2. Estos tres datos son recibido en las funciones.
     • tam es un valor necesario y que debe ser especificado
       en la función
Funciones y Arreglos
• Llamada de funciones con referencia a
  arreglos multidimensionales
  – ndefuncion (nom, var1, var2);
  – Donde nom es el nombre del arreglo, var1 y var2
    la cantidad de filas del arreglo y cantidad de
    columnas, respectivamente.
  – La facilidad de esta llamada es que sólo requiere
    enviar el nombre del arreglo multidimensional y
    las cantidades de filas y columnas.
Conceptualización de los Arreglos
• Como se dijo en la sección de los arreglos
  unidimensionales, estos son declarados a
  nivel de memoria, dentro del computador, por
  ello una vez declarado puede ser referenciado
  a nivel de memoria desde el programa y desde
  cualquiera función
• Por ejemplo:
Arreglos en memoria
• Al declarar un arreglo se crea una referencia en
  la memoria, al primer elemento del arreglo, es
  decir el elemento [0][0].
• Aquí el arreglo bidimensional como por
  ejemplo: int TAB[3][3];      0    1     2


        Primer
                         0   1     6     3
        elemento es el   1
        ARR[0][0]            5     0     2
                         2
                             2     5     10
La función FUN1 con el arreglo TAB
• Int FUN (int [][3], int, int); //prototipo
• Primera Línea de la definición:
   – Int FUN (int TAB[][3], int n, int s) //n número de
     filas, s número de columnas
• La llamada de FUN:
   – Sale= FUN(TAB, n, s);
Suma y Resta de vectores
//Inicio del programa comentarios y prototipos
                                                                case 4:
{
                                                                       printf(“Fin del proceso”); break;
Int A[6]={2,4,5,1,9,3}, B[6]={0,2,3,1,4,8}, i, C[6], opc=1,
                                                                 default:
while(opc!=4){
Switch(Opc=menu()){                                                    printf(“Opción inválida”);
   case 1:                                                      }// fin del case
           for(i=0;i<6;i++)                                    }//fin del while
              C[i]=A[i]+B[i];                                 }// fin del programa
            break;
  case 2:                                                     Int menu(){
           for(i=0;i<6;i++)                                   Int o;
              C[i]=A[i]-B[i];                                 printf(“MENUn”); printf(“1. Suma de elementosn”);
            break;                                            printf(“2. Diferencia de Elementosn”);
  case 3:                                                     printf(“3. Impresión de Elementos de los
          printf(“Los elementos del Vector A: ”)              vectoresn”);
          for(i=0;i<6;i++)                                    printf(“4. Salirn”);
              printf( “%d|”,A[i]);                            printf(“Seleccione su opción ”);
         printf(“Los elementos del Vector B: ”)               scanf(“%d”,&o);
         for(i=0;i<6;i++)
                                                              Return o;
              printf( “%d|”,B[i]);
                                                              }// fin de la función de impresión de menú
        printf(“Los elementos del Vector C: ”)
        for(i=0;i<6;i++)
              printf( “%d|”,C[i]);
        break;
Suma y Resta de vectores
//Inicio del programa comentarios y prototipos          // Funciones
Void suma(int[], int[], int[], int);                   Int menu(){
Void resta(int[], int[], int[], int);                  Int o;
Void imprime(int[], int[], int[], int);                printf(“MENUn”); printf(“1. Suma de elementosn”);
                                                       printf(“2. Diferencia de Elementosn”); printf(“3. Impresión
Int menu(void);                                        de Elementos de los vectoresn”); printf(“4. Salirn”);
Void main(void)                                        printf(“Seleccione su opción ”); scanf(“%d”,&o);
{                                                      return o;
Int A[6]={2,4,5,1,9,3}, B[6]={0,2,3,1,4,8}, i, C[6],   }// fin de la función de impresión de menú
opc=1,n=6;                                             Void suma(A[], int B[], int C[], int p){
while(opc!=4){                                                for(i=0;i<p;i++)
Switch(Opc=menu()){                                                C[i]=A[i]+B[i];}
   case 1: suma(A, B, C, n); break;                    Void resta suma(A[], int B[], int C[], int p){
                                                               for(i=0;i<p;i++)
   case 2: resta(A, B, C, n); break;
                                                                   C[i]=A[i]-B[i];}
   case 3: imprime(A, B, C, n); break;
                                                       Void imprime(A[], int B[], int C[], int p){
   case 4:
                                                               printf(“Los elementos del Vector A: ”) ;
          printf(“Fin del proceso”); break;                    for(i=0;i<p;i++)
     default:                                                       printf( “%d|”,A[i]);
          printf(“Opción inválida”);                           printf(“Los elementos del Vector B: ”)
    }// fin del case                                           for(i=0;i<p;i++)
  }//fin del while                                                  printf( “%d|”,B[i]);
}// fin del programa                                           printf(“Los elementos del Vector C: ”)
                                                               for(i=0;i<p;i++)
                                                                    printf( “%d|”,C[i]); }

Más contenido relacionado

La actualidad más candente (20)

Funciones en Lenguaje C
Funciones en Lenguaje CFunciones en Lenguaje C
Funciones en Lenguaje C
 
Arreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadoresArreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadores
 
Ejercicios de programación.
Ejercicios de programación.Ejercicios de programación.
Ejercicios de programación.
 
Arreglos en C
Arreglos en CArreglos en C
Arreglos en C
 
Funcion printf
Funcion printfFuncion printf
Funcion printf
 
Ejercicios java
Ejercicios javaEjercicios java
Ejercicios java
 
Apuntadores y direccionamiento
Apuntadores y direccionamientoApuntadores y direccionamiento
Apuntadores y direccionamiento
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Informe técnico 1
Informe técnico 1Informe técnico 1
Informe técnico 1
 
Funcion scanf
Funcion scanfFuncion scanf
Funcion scanf
 
Elemento 4
Elemento 4Elemento 4
Elemento 4
 
Estructuras punteros
Estructuras punterosEstructuras punteros
Estructuras punteros
 
Clase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacionClase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacion
 
Programación 1: funciones en C
Programación 1: funciones en CProgramación 1: funciones en C
Programación 1: funciones en C
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
 
Serie Fibonacci en C
Serie Fibonacci en CSerie Fibonacci en C
Serie Fibonacci en C
 
Ejercicios sencillos en c
Ejercicios sencillos en cEjercicios sencillos en c
Ejercicios sencillos en c
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
Presentacion Fractales
Presentacion FractalesPresentacion Fractales
Presentacion Fractales
 
C sharp intro0
C sharp intro0C sharp intro0
C sharp intro0
 

Similar a Arreglos (20)

Arrays unidimensionales
Arrays unidimensionalesArrays unidimensionales
Arrays unidimensionales
 
El lenguaje de programacion c++ prev
El lenguaje de programacion c++ prevEl lenguaje de programacion c++ prev
El lenguaje de programacion c++ prev
 
Pres arreglosmat animacion
Pres arreglosmat animacionPres arreglosmat animacion
Pres arreglosmat animacion
 
Curso c i
Curso c iCurso c i
Curso c i
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++
 
Lenguajec++
Lenguajec++Lenguajec++
Lenguajec++
 
Lenguajec++
Lenguajec++Lenguajec++
Lenguajec++
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Cpp
CppCpp
Cpp
 
Cpp
CppCpp
Cpp
 
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
 
Computacion punteros
Computacion punterosComputacion punteros
Computacion punteros
 
Arreglos
ArreglosArreglos
Arreglos
 
Estructuras
Estructuras Estructuras
Estructuras
 
Ejercicios introduccion a la programación en C
Ejercicios  introduccion a la programación en CEjercicios  introduccion a la programación en C
Ejercicios introduccion a la programación en C
 
Ejercicios C
Ejercicios CEjercicios C
Ejercicios C
 
curso_programacion_python3.pdf
curso_programacion_python3.pdfcurso_programacion_python3.pdf
curso_programacion_python3.pdf
 
Informe tecnico
Informe tecnicoInforme tecnico
Informe tecnico
 

Más de Universidad de Panamá (12)

Hangoutsficha1
Hangoutsficha1Hangoutsficha1
Hangoutsficha1
 
Tipos de interoperabilidad
Tipos de interoperabilidadTipos de interoperabilidad
Tipos de interoperabilidad
 
Practica
PracticaPractica
Practica
 
Crear slideshare de powerpointv3
Crear slideshare de powerpointv3Crear slideshare de powerpointv3
Crear slideshare de powerpointv3
 
Crear slideshare de powerpoint2013
Crear slideshare de powerpoint2013Crear slideshare de powerpoint2013
Crear slideshare de powerpoint2013
 
Metodo cientifico y estadistico 2013
Metodo cientifico y estadistico 2013Metodo cientifico y estadistico 2013
Metodo cientifico y estadistico 2013
 
Panaderia
PanaderiaPanaderia
Panaderia
 
Crear slideshare de powerpoint para Google Site
Crear slideshare de powerpoint para Google SiteCrear slideshare de powerpoint para Google Site
Crear slideshare de powerpoint para Google Site
 
Crm1
Crm1Crm1
Crm1
 
Erp
ErpErp
Erp
 
Tipos de sistemas de información
Tipos de sistemas de informaciónTipos de sistemas de información
Tipos de sistemas de información
 
Plantilla resumen
Plantilla resumenPlantilla resumen
Plantilla resumen
 

Arreglos

  • 2. Operaciones especiales • Suma implicita de elementos del arreglo: – Arr[i]+=5 -- significa que al elemento i se le suma el valor de 5 y se guarda en ese elemento – Al igual que la suma se puede realizar la división u otra operación • Incremento de elementos: – ++arreglo[i] o arreglo[i]++ -- incrementa el elemento i en 1
  • 3. Operaciones con arreglos • Recorrido y operaciones con elementos de arreglos – While (i<5) Arr[i++]+=2; – En un arreglo de 5 elementos, sumarle 2 a cada elemento • Tamibien se puede utilizar la variante de incremento en 1 – While (i<5) Arr[i++]++; o al revés ++Arr[i++]; Se reducen líneas de código en forma significativa
  • 4. Arreglos multidimensiones • Bidimensionales o multidimensionales – Utilización de 2 ó más índices al momento de las declaraciones – Utilización de 2 ó más for uno para el ciclo de cada indice • Operaciones tradicionales similares a los unidimensionales
  • 5. Arreglos multidimensionales • La carga es similar que con las unidimensionales • Otra forma de carga es: – Int arre[3][3]={{1,2,3}, {4,5,6}, {7,8,9}}; • Los elementos se referencia según su posición de fila y columna
  • 6. Funciones y Arreglos • Prototipo de funciones con referencia a arreglos unidimensionales – Tipo1 ndefuncion (tipo2 [], tipo3 ); Tipo1 es el tipo de retorno de funciones, tipo2 tipo de datos del arreglo, tipo3 es el tipo de dato del tamaño del arreglo. Estos dos datos deben ser enviados dentro de las funciones
  • 7. Funciones y Arreglos • Definición de funciones con arreglos unidimensionales – Tipo1 ndefuncion (tipo2 nom[], tipo3 var) • tipo1 es el tipo de retorno de funciones, tipo2 tipo de datos del arreglo, nom es el nombre del arreglo, tipo3 es el tipo de dato de la variable var cantidad de elementos. Estos tres datos son recibido en las funciones.
  • 8. Funciones y Arreglos • Llamada de funciones con referencia a arreglos unidimensionales – ndefuncion (nom, var); – Donde nom es el nombre del arreglo y var la cantidad de elementos del arreglo. – La facilidad de esta llamada es que sólo requiere enviar el nombre del arreglo unidimensional.
  • 9. Conceptualización de los Arreglos • Todos los arreglos son declarados a nivel de memoria, dentro del computador, por ello una vez declarado puede ser referenciado a nivel de memoria desde el programa y desde cualquiera función • Cómo sucede esto?
  • 10. Arreglos en memoria • Al declarar un arreglo se crea una referencia en la memoria, al primer elemento del arreglo. • Es por eso que basta con utilizar el nombre del arreglo para tener acceso a todos los elementos del mismo. Aquí el arreglo int ARR[5]; 2 5 10 9 3 0 1 2 3 4
  • 11. La función FUN con el arreglo ARR • Int FUN (int [], int); • Primera Línea de la definición: – Int FUN (int ARR[], int n) • La llamada de FUN: – Sale= FUN(ARR, n);
  • 12. Funciones y Arreglos • Prototipo de funciones con referencia a arreglos multidimensionales – Tipo1 ndefuncion (tipo2 [][tam], tipo3, tipo 4 ); Tipo1 es el tipo de retorno de funciones, tipo2 tipo de datos del arreglo, tipo3 es el tipo de dato de la cantidad de filas, tipo4 es el tipo de dato de la cantidad de columnas. Estos tres datos deben ser enviados dentro de las funciones. – tam debe tener un valor definido a la hora del prototipo
  • 13. Funciones y Arreglos • Definición de funciones con arreglos multidimensionales – Tipo1 ndefuncion (tipo2 nom [][tam], tipo3 var1, tipo 4 var2) • tipo1 es el tipo de retorno de funciones, tipo2 tipo de datos del arreglo, nom es el nombre del arreglo, tipo3 es la cantidad de filas identificada en la variable var1 y la cantidad de columnas identificada en la variable var2. Estos tres datos son recibido en las funciones. • tam es un valor necesario y que debe ser especificado en la función
  • 14. Funciones y Arreglos • Llamada de funciones con referencia a arreglos multidimensionales – ndefuncion (nom, var1, var2); – Donde nom es el nombre del arreglo, var1 y var2 la cantidad de filas del arreglo y cantidad de columnas, respectivamente. – La facilidad de esta llamada es que sólo requiere enviar el nombre del arreglo multidimensional y las cantidades de filas y columnas.
  • 15. Conceptualización de los Arreglos • Como se dijo en la sección de los arreglos unidimensionales, estos son declarados a nivel de memoria, dentro del computador, por ello una vez declarado puede ser referenciado a nivel de memoria desde el programa y desde cualquiera función • Por ejemplo:
  • 16. Arreglos en memoria • Al declarar un arreglo se crea una referencia en la memoria, al primer elemento del arreglo, es decir el elemento [0][0]. • Aquí el arreglo bidimensional como por ejemplo: int TAB[3][3]; 0 1 2 Primer 0 1 6 3 elemento es el 1 ARR[0][0] 5 0 2 2 2 5 10
  • 17. La función FUN1 con el arreglo TAB • Int FUN (int [][3], int, int); //prototipo • Primera Línea de la definición: – Int FUN (int TAB[][3], int n, int s) //n número de filas, s número de columnas • La llamada de FUN: – Sale= FUN(TAB, n, s);
  • 18. Suma y Resta de vectores //Inicio del programa comentarios y prototipos case 4: { printf(“Fin del proceso”); break; Int A[6]={2,4,5,1,9,3}, B[6]={0,2,3,1,4,8}, i, C[6], opc=1, default: while(opc!=4){ Switch(Opc=menu()){ printf(“Opción inválida”); case 1: }// fin del case for(i=0;i<6;i++) }//fin del while C[i]=A[i]+B[i]; }// fin del programa break; case 2: Int menu(){ for(i=0;i<6;i++) Int o; C[i]=A[i]-B[i]; printf(“MENUn”); printf(“1. Suma de elementosn”); break; printf(“2. Diferencia de Elementosn”); case 3: printf(“3. Impresión de Elementos de los printf(“Los elementos del Vector A: ”) vectoresn”); for(i=0;i<6;i++) printf(“4. Salirn”); printf( “%d|”,A[i]); printf(“Seleccione su opción ”); printf(“Los elementos del Vector B: ”) scanf(“%d”,&o); for(i=0;i<6;i++) Return o; printf( “%d|”,B[i]); }// fin de la función de impresión de menú printf(“Los elementos del Vector C: ”) for(i=0;i<6;i++) printf( “%d|”,C[i]); break;
  • 19. Suma y Resta de vectores //Inicio del programa comentarios y prototipos // Funciones Void suma(int[], int[], int[], int); Int menu(){ Void resta(int[], int[], int[], int); Int o; Void imprime(int[], int[], int[], int); printf(“MENUn”); printf(“1. Suma de elementosn”); printf(“2. Diferencia de Elementosn”); printf(“3. Impresión Int menu(void); de Elementos de los vectoresn”); printf(“4. Salirn”); Void main(void) printf(“Seleccione su opción ”); scanf(“%d”,&o); { return o; Int A[6]={2,4,5,1,9,3}, B[6]={0,2,3,1,4,8}, i, C[6], }// fin de la función de impresión de menú opc=1,n=6; Void suma(A[], int B[], int C[], int p){ while(opc!=4){ for(i=0;i<p;i++) Switch(Opc=menu()){ C[i]=A[i]+B[i];} case 1: suma(A, B, C, n); break; Void resta suma(A[], int B[], int C[], int p){ for(i=0;i<p;i++) case 2: resta(A, B, C, n); break; C[i]=A[i]-B[i];} case 3: imprime(A, B, C, n); break; Void imprime(A[], int B[], int C[], int p){ case 4: printf(“Los elementos del Vector A: ”) ; printf(“Fin del proceso”); break; for(i=0;i<p;i++) default: printf( “%d|”,A[i]); printf(“Opción inválida”); printf(“Los elementos del Vector B: ”) }// fin del case for(i=0;i<p;i++) }//fin del while printf( “%d|”,B[i]); }// fin del programa printf(“Los elementos del Vector C: ”) for(i=0;i<p;i++) printf( “%d|”,C[i]); }