Sei sulla pagina 1di 31

ESTRUCTURAS DE DATOS EN C 1) ARREGLOS UNIDIMENSIONALES

Escuela de Ingeniera Informtica

L.GRIFFITHS.M@GMAIL.COM

FUNDAMENTOS DE PROGRAMACIN

ESTRUCTURA DE DATOS EN C Conjunto de variables organizadas lgicamente en la memoria que pueden ser de diferente o igual tipo y que se encuentran relacionadas entre si.

FUNDAMENTOS DE PROGRAMACIN

Estructuras de datos se caracterizan por:

Tipo de elementos que contienen

Relacin que existe entre sus elementos

Operaciones definidas sobre ella

FUNDAMENTOS DE PROGRAMACIN

ESTRUCTURAS DE DATOS EN C

Arreglos Unidimensionales (vectores)

Arreglos Bidimensionales (matrices)

Cadenas de Caracteres (string)

Registros (struct)

FUNDAMENTOS DE PROGRAMACIN

ARREGLOS UNIDIMENSIONALES (VECTORES)

Conjunto finito de elementos homogneos

Se almacenan en posiciones consecutivas de memoria

10 , 12 , 33

10
1005AA

12
1005AB

33
1005AC

MEMORIA
33
FUNDAMENTOS DE PROGRAMACIN

10

12

DECLARACIN DE UN ARREGLO UNIDIMENSIONAL EN C

<tipo> <nombre> [<tamao>];


Cualquier tipo vlido Cualquier nombre vlido

Corchetes obligatorios

Constante que especifica el tamao

EJEMPLO:
int A [100];

FUNDAMENTOS DE PROGRAMACIN

LONGITUD DE UN ARREGLO

Longitud fsica (N)

Longitud lgica (M)

M <= N

Cantidad MXIMA de elementos que puede almacenar el arreglo

Cantidad de elementos REALMENTE almacenados en el arreglo

Longitud fsica = 9

A=

10

120

33

130

112

343

Longitud lgica = 6
FUNDAMENTOS DE PROGRAMACIN

INICIALIZACIN DE UN ARREGLO EN C C permite inicializar un arreglo con valores en su declaracin.

Sintaxis : tipo id_arreglo[tamao] = {valor1, valor2, , valor n};


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

A= posiciones

10
0

120
1

33
2

130 3

112 4

343 5

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

INDEXACIN DE ARREGLOS EN C Mecanismo mediante el cual se puede acceder al elemento almacenado en cada posicin del arreglo. En C la indexacin es en base 0.

A= posiciones

10
0

120
1

33
2

130 3

112 4

343 5

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

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

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

A= posiciones

45 0 1 2 3 4 5

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

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;

A= posiciones 0 1 2 3 4 5

Primera posicin 0
FUNDAMENTOS DE PROGRAMACIN

ltima posicin N-1 (N=6)

RECORRIDO DE UN ARREGLO
Esta operacin permite acceder a cada posicin del arreglo para procesar el elemento en ella almacenado una nica vez.

A=
posiciones

10 0

120

33 2

130 3

112 4

343 5

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posicin)

Esta operacin permite acceder a cada posicin del arreglo para almacenar un valor en ella.

A= posiciones

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posicin)

Esta operacin permite acceder a cada posicin del arreglo para almacenar un valor en ella.

A= posiciones

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posicin)

Esta operacin permite acceder a cada posicin del arreglo para almacenar un valor en ella.

A= posiciones

15 1

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posicin)

Esta operacin permite acceder a cada posicin del arreglo para almacenar un valor en ella.

A= posiciones

15 1

34

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posicin)

Esta operacin permite acceder a cada posicin del arreglo para almacenar un valor en ella.

A= posiciones

15 1

34

52

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posicin)

Esta operacin permite acceder a cada posicin del arreglo para almacenar un valor en ella.

A= posiciones

15 1

34

52

12

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

RECORRIDO DE UN ARREGLO PARA POBLARLO (escribir un valor en cada posicin)

Esta operacin permite acceder a cada posicin del arreglo para almacenar un valor en ella.

A= posiciones

15 1

34

52

12

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

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 PROGRAMACIN

RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posicin)

Esta operacin permite acceder a cada posicin del arreglo para leer el valor en ella contenido.

A= posiciones

15 1

34

52

12

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posicin)

Esta operacin permite acceder a cada posicin del arreglo para leer el valor en ella contenido.

A= posiciones

15 1

34

52

12

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posicin)

Esta operacin permite acceder a cada posicin del arreglo para leer el valor en ella contenido.

A= posiciones

15 1

34

52

12

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posicin)

Esta operacin permite acceder a cada posicin del arreglo para leer el valor en ella contenido.

A= posiciones

15 1

34

52

12

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posicin)

Esta operacin permite acceder a cada posicin del arreglo para leer el valor en ella contenido.

A= posiciones

15 1

34

52

12

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posicin)

Esta operacin permite acceder a cada posicin del arreglo para leer el valor en ella contenido.

A= posiciones

15 1

34

52

12

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

RECORRIDO DE UN ARREGLO PARA LEERLO ( mostrar el valor en cada posicin)

Esta operacin permite acceder a cada posicin del arreglo para leer el valor en ella contenido.

A= posiciones

15 1

34

52

12

Primera posicin 0

ltima posicin N-1 (N=6)

FUNDAMENTOS DE PROGRAMACIN

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 PROGRAMACIN

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 posicin 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 PROGRAMACIN

2. Un nmero se dice palndromo si se lee igual de izquierda a derecha que de derecha a izquierda: Ejemplo : Si el nmero es 81318 Este es un nmero palndromo!. Escriba un programa en lenguaje C que permita leer un nmero e indicar si es o no es un nmero es palndromo. Utilice Arreglos para en su solucin.

3. Escriba un programa en C que permita leer un nmero e indicar si contiene o no dgitos repetidos. Utilice Arreglos para en su solucin.

Ejemplo : Si el nmero es 81318 tiene dgitos repetidos

FUNDAMENTOS DE PROGRAMACIN

4. Un nmero se dice circular si es posible recorrerlo de la siguiente manera:


Se toma el dgito de ms a la izquierda y su valor indicar la cantidad de veces que se debe contar hacia la derecha, esta cuenta se detiene en un dgito del nmero el cual tambin indicar la cantidad de veces que se debe contar hacia la derecha y as sucesivamente. Este proceso da origen un nmero circular si todos los dgitos del nmero se consideran tan solo una vez (como nmero originador de un conteo) y adems se retorna al dgito de ms a la izquierda que fue el que comenz el conteo. Valide que no existan dgitos repetidos.

Ejemplo : Si el nmero 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 nmero circular!. Escriba un programa en lenguaje C que permita decidir si un nmero es circular. Utilice Arreglos en su solucin.

FUNDAMENTOS DE PROGRAMACIN

Potrebbero piacerti anche