Top Banner
ESTRUCTURAS DE DATOS EN C 1) ARREGLOS UNIDIMENSIONALES Escuela de Ingeniería Informática [email protected] FUNDAMENTOS DE PROGRAMACIÓN
31

02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

Oct 23, 2015

Download

Documents

ThePanxos
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

ESTRUCTURAS DE DATOS EN C

1) ARREGLOS UNIDIMENSIONALES

Escuela de Ingeniería Informática

[email protected]

FUNDAMENTOS DE PROGRAMACIÓN

Page 2: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

ESTRUCTURA DE DATOS EN C

• Conjunto de variables organizadas lógicamente en la memoria que pueden ser de diferente o igual tipo y que se encuentran relacionadas entre si.

FUNDAMENTOS DE PROGRAMACIÓN

Page 3: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

FUNDAMENTOS DE PROGRAMACIÓN

Estructuras de datos se caracterizan por:

Tipo de elementos que contienen

Relación que existe entre sus elementos

Operaciones definidas sobre ella

Page 4: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

FUNDAMENTOS DE PROGRAMACIÓN

ESTRUCTURAS DE DATOS EN C

Arreglos Unidimensionales

(vectores)

Arreglos Bidimensionales

(matrices)

Cadenas de Caracteres

(string)

Registros (struct)

Page 5: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

33

12

10

MEMORIA

1005AA 1005AB 1005AC

10 , 12 , 33

FUNDAMENTOS DE PROGRAMACIÓN

12 10 33

ARREGLOS UNIDIMENSIONALES

(VECTORES)

Conjunto finito de elementos homogéneos

Se almacenan en posiciones consecutivas

de memoria

Page 6: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

DECLARACIÓN DE UN ARREGLO UNIDIMENSIONAL EN C

<tipo> <nombre> [<tamaño>];

Cualquier tipo válido

Cualquier nombre válido Corchetes

obligatorios

Constante que especifica el

tamaño

EJEMPLO: int A [100];

FUNDAMENTOS DE PROGRAMACIÓN

Page 7: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

10 33 120 130 343 112

Longitud física = 9

Longitud lógica = 6

A =

FUNDAMENTOS DE PROGRAMACIÓN

LONGITUD DE UN ARREGLO

Longitud física (N)

Cantidad MÁXIMA de elementos que puede almacenar el arreglo

Longitud lógica (M)

Cantidad de elementos REALMENTE almacenados en el arreglo

M <= N

Page 8: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

INICIALIZACIÓN DE UN ARREGLO EN C • C permite inicializar un arreglo con valores en su declaración.

Sintaxis : tipo id_arreglo[tamaño] = {valor1, valor2, ……, valor n};

Ejemplo: int A[6]={10,120,33,130,112,343};

FUNDAMENTOS DE PROGRAMACIÓN

10 33 120 130 343 112

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 9: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

INDEXACIÓN DE ARREGLOS EN C • Mecanismo mediante el cual se puede acceder al elemento almacenado

en cada posición del arreglo.

• En C la indexación es en base 0.

10 33 120 130 343 112

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

FUNDAMENTOS DE PROGRAMACIÓN

A =

Page 10: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

ACCESO A CADA ELEMENTO EN EL ARREGLO • Sintaxis : id_arreglo[indice] , donde índice es una variable ordinal

Ejemplo:

int A[6]; A[0]=45;

FUNDAMENTOS DE PROGRAMACIÓN

45

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 11: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

ACCESO A CADA ELEMENTO EN EL ARREGLO • El nombre o identificador del arreglo es un puntero a un conjunto de

datos de un cierto tipo.

Ejemplo int A[6]; //A = @A[0] Por lo tanto A[4]=20; //es equivalente a *(A+4)=20;

FUNDAMENTOS DE PROGRAMACIÓN

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 12: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

RECORRIDO DE UN ARREGLO • Esta operación permite acceder a cada posición del arreglo para

procesar el elemento en ella almacenado una única vez.

FUNDAMENTOS DE PROGRAMACIÓN

10 33 120 130 343 112

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 13: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posición)

• Esta operación permite acceder a cada posición del arreglo para

almacenar un valor en ella.

FUNDAMENTOS DE PROGRAMACIÓN

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 14: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posición)

• Esta operación permite acceder a cada posición del arreglo para

almacenar un valor en ella.

FUNDAMENTOS DE PROGRAMACIÓN

1

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 15: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posición)

• Esta operación permite acceder a cada posición del arreglo para

almacenar un valor en ella.

FUNDAMENTOS DE PROGRAMACIÓN

1 15

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 16: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posición)

• Esta operación permite acceder a cada posición del arreglo para

almacenar un valor en ella.

FUNDAMENTOS DE PROGRAMACIÓN

1 34 15

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 17: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posición)

• Esta operación permite acceder a cada posición del arreglo para

almacenar un valor en ella.

FUNDAMENTOS DE PROGRAMACIÓN

1 34 15 52

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 18: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posición)

• Esta operación permite acceder a cada posición del arreglo para

almacenar un valor en ella.

FUNDAMENTOS DE PROGRAMACIÓN

1 34 15 52 12

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 19: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posición)

• Esta operación permite acceder a cada posición del arreglo para

almacenar un valor en ella.

FUNDAMENTOS DE PROGRAMACIÓN

1 34 15 52 5 12

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 20: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

Programa que permite almacenar 10 valores en un vector de enteros.

#include <stdio.h> int main() { int Numeros [10], i; for (i=0;i<10;i++) { printf("Ingrese elemento %d : ",i+1); scanf("%d",&Numeros[i]); } return 0; }

FUNDAMENTOS DE PROGRAMACIÓN

Page 21: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posición)

• Esta operación permite acceder a cada posición del arreglo para leer el

valor en ella contenido.

FUNDAMENTOS DE PROGRAMACIÓN

1 34 15 52 5 12

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 22: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posición)

• Esta operación permite acceder a cada posición del arreglo para leer el

valor en ella contenido.

FUNDAMENTOS DE PROGRAMACIÓN

1 34 15 52 5 12

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 23: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posición)

• Esta operación permite acceder a cada posición del arreglo para leer el

valor en ella contenido.

FUNDAMENTOS DE PROGRAMACIÓN

1 34 15 52 5 12

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 24: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posición)

• Esta operación permite acceder a cada posición del arreglo para leer el

valor en ella contenido.

FUNDAMENTOS DE PROGRAMACIÓN

1 34 15 52 5 12

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 25: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posición)

• Esta operación permite acceder a cada posición del arreglo para leer el

valor en ella contenido.

FUNDAMENTOS DE PROGRAMACIÓN

1 34 15 52 5 12

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 26: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posición)

• Esta operación permite acceder a cada posición del arreglo para leer el

valor en ella contenido.

FUNDAMENTOS DE PROGRAMACIÓN

1 34 15 52 5 12

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 27: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posición)

• Esta operación permite acceder a cada posición del arreglo para leer el

valor en ella contenido.

FUNDAMENTOS DE PROGRAMACIÓN

1 34 15 52 5 12

0 1 2 3 4 5

Primera posición 0

Última posición N-1 (N=6)

posiciones

A =

Page 28: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

• Programa que permite almacenar 10 valores en un vector de enteros y luego mostrarlo.

#include <stdio.h> int main() { int Numeros [10]; int i; //POBLAR for (i=0;i<10;i++) { printf("Ingrese elemento %d : ",i+1); scanf("%d",&Numeros[i]); } //MOSTRAR for (i=0;i<10;i++) printf(“%d “,Numeros[i]); return 0; }

FUNDAMENTOS DE PROGRAMACIÓN

Page 29: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

1. Escriba un programa en C que permita: Inicializar un arreglo con 5 valores reales

Calcular el promedio de elementos en el arreglo

Determinar la posición del mayor elemento en el arreglo

Determinar el menor elemento en el arreglo

Sumar los elementos que ocupan posiciones pares en el arreglo

FUNDAMENTOS DE PROGRAMACIÓN

Page 30: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

2. Un número se dice palíndromo si se lee igual de izquierda a derecha que de derecha a izquierda:

Ejemplo : Si el número es 81318 • Este es un número palíndromo!. Escriba un programa en lenguaje C que permita leer

un número e indicar si es o no es un número es palíndromo. Utilice Arreglos para en su solución.

3. Escriba un programa en C que permita leer un número e indicar si contiene o no dígitos repetidos. Utilice Arreglos para en su solución.

Ejemplo : Si el número es 81318 tiene dígitos repetidos

FUNDAMENTOS DE PROGRAMACIÓN

Page 31: 02 Programacion Pucv 2013 - Arreglos Unidimensionales Final

4. Un número se dice circular si es posible recorrerlo de la siguiente manera:

• Se toma el dígito de más a la izquierda y su valor indicará la cantidad de veces que se debe contar hacia la derecha, esta “cuenta“ se detiene en un dígito del número el cual también indicará la cantidad de veces que se debe contar hacia la derecha y así sucesivamente. Este proceso da origen un número circular si todos los dígitos del número se consideran tan solo una vez (como número originador de un conteo) y además se retorna al dígito de más a la izquierda que fue el que comenzó el conteo.

• Valide que no existan dígitos repetidos. Ejemplo : Si el número es 81362 (1) 8 1 3 6 2 (2) 8 1 3 6 2 (3) 8 1 3 6 2 (4) 8 1 3 6 2 (5) 8 1 3 6 2 (6) 8 1 3 6 2 • Este es un número circular!. Escriba un programa en lenguaje C que permita decidir si

un número es circular. Utilice Arreglos en su solución.

FUNDAMENTOS DE PROGRAMACIÓN