SlideShare una empresa de Scribd logo
3
Lo más leído
5
Lo más leído
6
Lo más leído
Fundamentos de Programación Arreglos
Estructura de Datos Se puede considerar un conjunto de datos,  Como una sola entidad… Como un solo tipo de dato…  De esta forma, se reduce la complejidad de un problema. Un programa esta formado por: Estructuras de control y llamadas a funciones  (el  algoritmo  de nuestro programa). Datos, con sus respectivos tipos , ya sean estos atómicos o complejos, juntos forman una jerarquía (la  estructura de datos  del programa). PROGRAMA = ALGORITMO +  ESTRUCTURA DE DATOS
¿Qué es un Arreglo? Basándonos en los tipos de datos atómicos, podemos crear otros más complejos. Un arreglo es una colección, o grupo de datos, donde : Cada dato tiene su  posición  (primero, segundo, tercero…) Y todos los datos del grupo  son del   mismo tipo , es decir, o todos son enteros, o todos son reales, etc.  La mejor forma de visualizar un arreglo es: Como un grupo de cajas, una detrás de otra Donde cada caja representa un dato del arreglo o un elemento. Podemos concluir que un arreglo tiene: Tamaño : cuantas cajas va a tener, el número de datos. Tipo : cuál es el tipo de  todos  los datos del arreglo. Nombre : el único nombre bajo el cual vamos a dirigirnos al mismo. Jamás olvidar que un arreglo tiene un tipo NO EXISTEN ARREGLOS “MEZCLADOS” ...
Declaración de Arreglos Al declarar una variable cualquiera siempre indicamos: tipo y nombre.  Por ejemplo:  int a; Para declarar un arreglo, se debe indicar Tipo Nombre y Tamaño Un arreglo de 10 elementos enteros, se declara: int ArregloEnteros[10]; Y lo podemos visualizar: Cada  elemento  del grupo va a estar identificado por un valor numérico, llamado  índice .  En C el primer elemento de un arreglo tiene el índice 0. Siempre, para indicar el  tamaño  de un arreglo, se utilizara una  constante , jamás una variable. Jamás olvidar, el tamaño de un arreglo es una constante 0 1 2 3 4 5 6 7 8 9 ArregloEnteros
Manejo de Arreglos Tenemos ahora 10 enteros bajo un mismo nombre ¿Como accedemos a uno de esos datos? Usamos el nombre del arreglo y el índice que identifica al elemento:  nombre_arreglo[indice] Si se desea asignar el valor de 2 al primer elemento del arreglo: arregloEntero[0] = 2; arregloEntero[1] = 9; arregloEntero[4] = 1: Cada elemento es en efecto una variable del tipo declarado para el arreglo Es muy importante recordar que: El índice de un elemento, no es el valor (contenido) de dicho elemento. El índice puede ser cualquier expresión que retorne un valor entero. Para asignar a todos los elementos del arreglo, un mismo valor, lo mas práctico es usar un lazo for: for(i = 0; i < 10; i++)  { arregloEntero[ i ] = 0;  } 0 1 2 3 4 5 6 7 8 9 ArregloEnteros 2 9 1
Leer e Imprimir un Arreglo Acabamos de ver un ejemplo para acceder a todos los elementos de una arreglo de una forma práctica. Si tenemos 10 elementos en un arreglo, y queremos pedir que los ingresen por teclado, debemos repetir el ingreso 10 veces: for(i = 0; i < 10; i++) { scanf(“%d”,&a); arregloEnteros[i] = a; } Así mismo, para imprimir todos los elementos de un arreglo, deberíamos repetir el proceso de imprimir, pero diez veces: for(i = 0; i < 10; i++) { printf(“Elemento %d:%d\n”, i, ArregloEnteros[i]); }
Ejercicio Programa que permite el ingreso de las notas de un curso de 20 alumnos. Una vez ingresados, debe mostrarse el promedio de las mismas. #include <stdio.h> #define MAX 20 void main(){ double notas[MAX]; double total, promedio; int i,a; total = 0; for(i = 0; i < MAX; i++){ printf(&quot;Ingrese Alumno %d:&quot;,i+1); scanf(“%d”,&a); notas[i]=a; } for(i = 0; i < MAX; i++) { total = total + notas[i]; } promedio = (double)total / (double)MAX; printf(&quot;Promedio: %.2f&quot;,promedio); getch(); } El usuario del programa no tiene porque saber que los índices van desde 0, se le pueden mostrar desde 1
En lugar de almacenar valores en los elementos de un arreglo, algunas aplicaciones usan los arreglos para almacenar “índices”, que permiten llevar estadísticas, de un dato en particular. Por ejemplo: Se pidió a 40 estudiantes que calificaran la calidad de la comida de la cafetería en una escala del 1 al 10 (1 es terrible y 10 excelente).  Escriba un programa en C que pida las 40 respuestas y luego muestre un resumen del resultado. Arreglos Para Tabular
Un arreglo en C también se puede inicializar de las siguientes formas: Crear un arreglo de 3 elementos Inicializando cada elemento: int A[]={11,2,8}; ó int A[3]={11,2,8}; Inicializando todos los elementos con el mismo valor: int A[3]={0}; Inicialización de un Arreglo
En C, los elementos de un arreglo pueden ser de cualquier tipo Esto quiere decir que los elementos de un arreglo pueden ser a su vez, arreglos. Arreglos de arreglos, se conocen como arreglos multidimensionales.  El mas común de estos, es el de dos dimensiones, conocido también como  Matriz  o  Tabla . Un ejemplo de una matriz, es un tablero de tres en raya. Este es un arreglo de 3 elementos, donde cada elemento es un arreglo, de tres elementos también. Arreglos Multidimensionales int A[3][3]; A[0] A[1] A[2] A[0][0] A[1][0] A[2][0] A[0]1] A[1][1] A[2][1] A[0][2] A[1][2] A[2][2]
Inicialización Un arreglo multidimensional también se puede inicializar static double MatrizIdentidad[3][3] =  { {1,0,0}, {0,1,0} {0,0,1} }; Así podemos inicializar todos los elementos de una matriz desde el inicio, sin necesidad de usar lazos anidados.
Búsqueda en un Arreglo Se refiere al proceso para encontrar un elemento particular en un arreglo. Una de las estrategias mas comunes y simples para buscar un dato en un arreglo es: Revisar uno por uno los elementos del mismo, este método se conoce como  búsqueda lineal . Escribir una función que determine si un valor dado se encuentra en un arreglo de elementos enteros, y si es así, indique su posición-
Solución Dato a buscar: 58 int EncontrarElemento(int valor, int arreglo[ ] ,int n) { for(i=0; i <10; i++) { if (valor = = arreglo [ i ] )    return(i); } return(-1); } 19 12 1 2 58 100 3 4 45 25 A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9]
Operador sizeof Un char ocupa un byte. ¿Cuantos bytes ocupa un entero? ¿un real?  ¿una cadena? Depende de cada máquina Podemos averiguarlo usando el operador  sizeof. sizeof(int) devuelve el número de bytes que necesita un dato de tipo int. CUIDADO : sizeof es un operador, no una función.
¿Cómo calcular el tamaño de un arreglo? Si inicializamos una arreglo sin indicar su ancho… ¿Cómo podemos saber el ancho, para futuros usos en el programa? sizeof(Arreglo)  devuelve 32 sizeof(Arreglo[0])  devuelve el desfase: 8 sizeof(Arreglo)/sizeof(Arreglo[0])  devuelve 4, justo el número de elementos del arreglo. 1000 1008 1016 1024 1032 Arreglo[0] Arreglo[1] Arreglo[2] Arreglo[3] Arreglo[4]

Más contenido relacionado

PDF
Estructuras de Datos (Arreglos)
PPTX
Metodos de ordenamiento
PPTX
Metodos de ordenamiento 2
DOCX
Qué es uml, PARA QUE SIRVE, PASOS
DOC
Metodo quicksort
PDF
15 algoritmos de busca em tabelas - sequencial e binaria
PPTX
Estructura de Datos - Unidad 5 metodos de ordenamiento
PDF
Arreglos
Estructuras de Datos (Arreglos)
Metodos de ordenamiento
Metodos de ordenamiento 2
Qué es uml, PARA QUE SIRVE, PASOS
Metodo quicksort
15 algoritmos de busca em tabelas - sequencial e binaria
Estructura de Datos - Unidad 5 metodos de ordenamiento
Arreglos

La actualidad más candente (20)

PDF
Programación 1: arreglos en C
PDF
12 Curso de POO en java - entrada y salida de datos
PDF
Estructura de un algoritmo en pseudocódigo
PPT
Arreglos en Java
PPSX
Arreglos unidimensionales
PPTX
Programación 3: algoritmo de Prim y de Kruskal
PDF
17 arreglos bidimensionales java
PPTX
Pilas, colas, y listas estructura de datos
DOCX
Mapa conceptual unidad 1 benita
PDF
Arreglos Bidimensionales - Java - NetBeans
PDF
Ejercicios de programación en C (Estructuras condicionales-Selectivas)
DOCX
Ejercicios de base de datos
PPTX
Normalización de Base de Datos
PPTX
Arboles - estructura de datos
DOCX
Algoritmo de listas simples completo
PDF
Estructura de Datos - árboles y grafos
PPTX
Pilas en Java
PPTX
Arreglos unidimensionales
PPTX
Arraylist
ODP
Método por plegamiento Hash
Programación 1: arreglos en C
12 Curso de POO en java - entrada y salida de datos
Estructura de un algoritmo en pseudocódigo
Arreglos en Java
Arreglos unidimensionales
Programación 3: algoritmo de Prim y de Kruskal
17 arreglos bidimensionales java
Pilas, colas, y listas estructura de datos
Mapa conceptual unidad 1 benita
Arreglos Bidimensionales - Java - NetBeans
Ejercicios de programación en C (Estructuras condicionales-Selectivas)
Ejercicios de base de datos
Normalización de Base de Datos
Arboles - estructura de datos
Algoritmo de listas simples completo
Estructura de Datos - árboles y grafos
Pilas en Java
Arreglos unidimensionales
Arraylist
Método por plegamiento Hash
Publicidad

Similar a Arreglos en C (20)

PPT
Arreglos
PPTX
Estructuras
PPTX
Daniel lugoalgoritmica
PDF
Explicacion de como usar e implementar arreglos en c++
PPTX
Sintaxis y Semantica de estructuras Arreglos en C
PDF
Array o arreglos
DOCX
Arreglos -- Programación Logica Estrucutrada
PDF
Arrayoareglos
PDF
7.arreglos y vectores en c++
PPTX
Arreglos conceptos básicos
 
PPTX
11 arreglos....
PDF
Arreglos C#
PPT
Clase 10 Estructuras De Datos Y Arreglos
PPT
Estructuras de Datos Elementos y Arreglos.ppt
PDF
11 arreglos-multidimensionales
PDF
11 arreglos-multidimensionales
PPTX
Presentación1
PPSX
Tema 2 arreglos
PPTX
Trabajo en grupo
Arreglos
Estructuras
Daniel lugoalgoritmica
Explicacion de como usar e implementar arreglos en c++
Sintaxis y Semantica de estructuras Arreglos en C
Array o arreglos
Arreglos -- Programación Logica Estrucutrada
Arrayoareglos
7.arreglos y vectores en c++
Arreglos conceptos básicos
 
11 arreglos....
Arreglos C#
Clase 10 Estructuras De Datos Y Arreglos
Estructuras de Datos Elementos y Arreglos.ppt
11 arreglos-multidimensionales
11 arreglos-multidimensionales
Presentación1
Tema 2 arreglos
Trabajo en grupo
Publicidad

Más de Ronny Parra (20)

PPT
Actitudes ante las discapacidades
PPT
Caracteres y cadenas en C
PPT
Archivos en C
PPT
Caracteres y Cadenas en C
PPT
Creacion de una librería propia en C
PPT
Funciones en C
PPT
Variables, constantes y tipos de datos en C
PPT
Introduccion a la programación
PPT
Threads en Java
PPT
Eventos en Java
PPT
Diagramas de Interaccion de Objetos
PPT
Entorno grafico en Java
PPT
Entorno gráfico en Java
PPT
Excepciones
PPT
Colecciones en Java
PPT
Clases Anidadas
PPT
Conceptos basicos de Ecologia
PPT
Diagramas de casos de uso
PPT
Java y Bases de Datos
PPT
Programación en Java: Applets
Actitudes ante las discapacidades
Caracteres y cadenas en C
Archivos en C
Caracteres y Cadenas en C
Creacion de una librería propia en C
Funciones en C
Variables, constantes y tipos de datos en C
Introduccion a la programación
Threads en Java
Eventos en Java
Diagramas de Interaccion de Objetos
Entorno grafico en Java
Entorno gráfico en Java
Excepciones
Colecciones en Java
Clases Anidadas
Conceptos basicos de Ecologia
Diagramas de casos de uso
Java y Bases de Datos
Programación en Java: Applets

Arreglos en C

  • 2. Estructura de Datos Se puede considerar un conjunto de datos, Como una sola entidad… Como un solo tipo de dato… De esta forma, se reduce la complejidad de un problema. Un programa esta formado por: Estructuras de control y llamadas a funciones (el algoritmo de nuestro programa). Datos, con sus respectivos tipos , ya sean estos atómicos o complejos, juntos forman una jerarquía (la estructura de datos del programa). PROGRAMA = ALGORITMO + ESTRUCTURA DE DATOS
  • 3. ¿Qué es un Arreglo? Basándonos en los tipos de datos atómicos, podemos crear otros más complejos. Un arreglo es una colección, o grupo de datos, donde : Cada dato tiene su posición (primero, segundo, tercero…) Y todos los datos del grupo son del mismo tipo , es decir, o todos son enteros, o todos son reales, etc. La mejor forma de visualizar un arreglo es: Como un grupo de cajas, una detrás de otra Donde cada caja representa un dato del arreglo o un elemento. Podemos concluir que un arreglo tiene: Tamaño : cuantas cajas va a tener, el número de datos. Tipo : cuál es el tipo de todos los datos del arreglo. Nombre : el único nombre bajo el cual vamos a dirigirnos al mismo. Jamás olvidar que un arreglo tiene un tipo NO EXISTEN ARREGLOS “MEZCLADOS” ...
  • 4. Declaración de Arreglos Al declarar una variable cualquiera siempre indicamos: tipo y nombre. Por ejemplo: int a; Para declarar un arreglo, se debe indicar Tipo Nombre y Tamaño Un arreglo de 10 elementos enteros, se declara: int ArregloEnteros[10]; Y lo podemos visualizar: Cada elemento del grupo va a estar identificado por un valor numérico, llamado índice . En C el primer elemento de un arreglo tiene el índice 0. Siempre, para indicar el tamaño de un arreglo, se utilizara una constante , jamás una variable. Jamás olvidar, el tamaño de un arreglo es una constante 0 1 2 3 4 5 6 7 8 9 ArregloEnteros
  • 5. Manejo de Arreglos Tenemos ahora 10 enteros bajo un mismo nombre ¿Como accedemos a uno de esos datos? Usamos el nombre del arreglo y el índice que identifica al elemento: nombre_arreglo[indice] Si se desea asignar el valor de 2 al primer elemento del arreglo: arregloEntero[0] = 2; arregloEntero[1] = 9; arregloEntero[4] = 1: Cada elemento es en efecto una variable del tipo declarado para el arreglo Es muy importante recordar que: El índice de un elemento, no es el valor (contenido) de dicho elemento. El índice puede ser cualquier expresión que retorne un valor entero. Para asignar a todos los elementos del arreglo, un mismo valor, lo mas práctico es usar un lazo for: for(i = 0; i < 10; i++) { arregloEntero[ i ] = 0; } 0 1 2 3 4 5 6 7 8 9 ArregloEnteros 2 9 1
  • 6. Leer e Imprimir un Arreglo Acabamos de ver un ejemplo para acceder a todos los elementos de una arreglo de una forma práctica. Si tenemos 10 elementos en un arreglo, y queremos pedir que los ingresen por teclado, debemos repetir el ingreso 10 veces: for(i = 0; i < 10; i++) { scanf(“%d”,&a); arregloEnteros[i] = a; } Así mismo, para imprimir todos los elementos de un arreglo, deberíamos repetir el proceso de imprimir, pero diez veces: for(i = 0; i < 10; i++) { printf(“Elemento %d:%d\n”, i, ArregloEnteros[i]); }
  • 7. Ejercicio Programa que permite el ingreso de las notas de un curso de 20 alumnos. Una vez ingresados, debe mostrarse el promedio de las mismas. #include <stdio.h> #define MAX 20 void main(){ double notas[MAX]; double total, promedio; int i,a; total = 0; for(i = 0; i < MAX; i++){ printf(&quot;Ingrese Alumno %d:&quot;,i+1); scanf(“%d”,&a); notas[i]=a; } for(i = 0; i < MAX; i++) { total = total + notas[i]; } promedio = (double)total / (double)MAX; printf(&quot;Promedio: %.2f&quot;,promedio); getch(); } El usuario del programa no tiene porque saber que los índices van desde 0, se le pueden mostrar desde 1
  • 8. En lugar de almacenar valores en los elementos de un arreglo, algunas aplicaciones usan los arreglos para almacenar “índices”, que permiten llevar estadísticas, de un dato en particular. Por ejemplo: Se pidió a 40 estudiantes que calificaran la calidad de la comida de la cafetería en una escala del 1 al 10 (1 es terrible y 10 excelente). Escriba un programa en C que pida las 40 respuestas y luego muestre un resumen del resultado. Arreglos Para Tabular
  • 9. Un arreglo en C también se puede inicializar de las siguientes formas: Crear un arreglo de 3 elementos Inicializando cada elemento: int A[]={11,2,8}; ó int A[3]={11,2,8}; Inicializando todos los elementos con el mismo valor: int A[3]={0}; Inicialización de un Arreglo
  • 10. En C, los elementos de un arreglo pueden ser de cualquier tipo Esto quiere decir que los elementos de un arreglo pueden ser a su vez, arreglos. Arreglos de arreglos, se conocen como arreglos multidimensionales. El mas común de estos, es el de dos dimensiones, conocido también como Matriz o Tabla . Un ejemplo de una matriz, es un tablero de tres en raya. Este es un arreglo de 3 elementos, donde cada elemento es un arreglo, de tres elementos también. Arreglos Multidimensionales int A[3][3]; A[0] A[1] A[2] A[0][0] A[1][0] A[2][0] A[0]1] A[1][1] A[2][1] A[0][2] A[1][2] A[2][2]
  • 11. Inicialización Un arreglo multidimensional también se puede inicializar static double MatrizIdentidad[3][3] = { {1,0,0}, {0,1,0} {0,0,1} }; Así podemos inicializar todos los elementos de una matriz desde el inicio, sin necesidad de usar lazos anidados.
  • 12. Búsqueda en un Arreglo Se refiere al proceso para encontrar un elemento particular en un arreglo. Una de las estrategias mas comunes y simples para buscar un dato en un arreglo es: Revisar uno por uno los elementos del mismo, este método se conoce como búsqueda lineal . Escribir una función que determine si un valor dado se encuentra en un arreglo de elementos enteros, y si es así, indique su posición-
  • 13. Solución Dato a buscar: 58 int EncontrarElemento(int valor, int arreglo[ ] ,int n) { for(i=0; i <10; i++) { if (valor = = arreglo [ i ] ) return(i); } return(-1); } 19 12 1 2 58 100 3 4 45 25 A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9]
  • 14. Operador sizeof Un char ocupa un byte. ¿Cuantos bytes ocupa un entero? ¿un real? ¿una cadena? Depende de cada máquina Podemos averiguarlo usando el operador sizeof. sizeof(int) devuelve el número de bytes que necesita un dato de tipo int. CUIDADO : sizeof es un operador, no una función.
  • 15. ¿Cómo calcular el tamaño de un arreglo? Si inicializamos una arreglo sin indicar su ancho… ¿Cómo podemos saber el ancho, para futuros usos en el programa? sizeof(Arreglo) devuelve 32 sizeof(Arreglo[0]) devuelve el desfase: 8 sizeof(Arreglo)/sizeof(Arreglo[0]) devuelve 4, justo el número de elementos del arreglo. 1000 1008 1016 1024 1032 Arreglo[0] Arreglo[1] Arreglo[2] Arreglo[3] Arreglo[4]