Вы находитесь на странице: 1из 19

Vectores y Matrices

V t Vectores y Matrices M ti

Indice
Vectores Algoritmos de Bsqueda Algoritmos g de Ordenacin Matrices

Vectores
Definicin
Un vector est compuesto por una serie de elementos del mismo tipo. Para acceder a cada elemento se utiliza el nombre del vector y un ndice que indica i di l la posicin que ocupa el elemento en el vector. Los elementos estn almacenados en posiciones contiguas g de memoria. Elementos -32 32 Posiciones
0

9
1

65
2

45
3

7
4

8
5

9
6

100
7

1
8

Vectores
Declaracin tipo nombre_vector [tamao];
El d dato t tamao t determina d t i el l tamao fsico del d l vector t y debe ser un literal o constante entera. Ejemplo: const int MAX = 100; double v[MAX], w[1000];
El vector t v est t compuesto t por 100 reales. l El primero i es v[0] y el ltimo v[99]. El elemento v[i](i=0,,99)es un double y puede usarse como cualquier variable de tipo double.

Vectores
Procesamiento
Los vectores se procesan elemento a elemento. En general, la mayora de procesos sobre vectores se llevan a cabo mediante una instruccin for. for (int i=0; i<MAX; i++) procesar

v[i];

Ejercicio 1: Leer un vector con 10 enteros y mostrar por pantalla su media (SOLUCION). Ejercicio 2: Leer un vector con 15 reales y mostrarlo por pantalla al revs (SOLUCION).

Vectores
Tamao lgico de un vector
En general, para procesar un vector v con tamao fsico MAX se considera un tamao lgico util_v con: 0 util_v util v MAX. MAX
int v[10], v[10] util_v util v = 4;
V[0]= -32; V[1]=9; V[2]=65; V[3]=45;

-32
0

9
1

65
2

45
3

?
4

?
5

?
6

?
7

?
8

?
9

Unicamente se procesan los elementos situados entre las posiciones 0 y util_v-1 (ambas inclusive).

Vectores
Ejercicios
1 L 1. Leer un vector t de d reales l que representan t notas t d de alumnos y mostrar por pantalla la mayor nota. El nmero de elementos a procesar se leer por teclado (SOLUCION). 2 Realizar el mismo ejercicio anterior pero mostrando 2. adems la posicin donde se encuentra el mayor (SOLUCION). 3. Leer un vector de caracteres y mostrar las posiciones donde se almacenan vocales (SOLUCION). ( )

Vectores
Modularizacin
DEFINICION MODULO: MODULO

El tamao lgico del vector debe ir siempre AL LADO del vector.

void modulo(int v[], int util_v) { } En la definicin, NO es necesario

LLAMADA MODULO:

especificar el tamao fsico

modulo(v, util_v);

POR DEFECTO los vector p pasan p por REFERENCIA PASO POR VALOR de vectores:
void modulo(const int v[], int util_v)

Vectores
Ejercicios
Construir un programa que utilice tres mdulos (SOLUCION): 1. Leer un vector. 1 vector 2. Calcular la media de un vector. 3. Mostrar los elementos de un vector por pantalla. Construir un mdulo que acepte un vector de enteros y devuelva otro vector con los elementos pares del primero (SOLUCION). Construir un mdulo para buscar un elemento x en C un vector v (SOLUCION).

10

Vectores
Ms ejercicios
Construir C t i un mdulo d l que acepte t d dos vectores t d de enteros y devuelva true si son iguales y false en caso contrario (SOLUCION). ( ) Construir un mdulo para quitar los elementos repetidos de un vector original, guardando el resultado en un vector destino (SOLUCION).

11

Algoritmos g de Bsqueda q
Bsqueda secuencial
PROBLEMA: Encontrar un elemento x en un vector v no tiene que estar ordenado. v no se modifica: se pasa por valor (const int v[]). du o devuelve de ue e la a pos posicin c do donde de est o -1 s si no o est est. El mdulo

ALGORITMO:
1. Situarse al principio del vector

2. Mientras tenga componentes en el vector y no lo haya encontrado


a. Comparar el elemento a buscar con el elemento actual b. Si coinciden, ya lo he encontrado. c. En otro caso, avanzar al siguiente elemento (VER CODIGO) (VER ANIMACION)

12

Algoritmos g de Bsqueda q
Bsqueda binaria
V debe estar ordenado V no se modifica Devuelve la posicin donde est o -1 si no est

ALGORITMO
1 Comparar x con el elemento que ocupa la mitad de v. 1. 2. Si coinciden, se habr encontrado el elemento. 3 Si no, se determina 3. d t i l la mitad it d de d v en la l que puede d encontrarse. t 4. Se repite el proceso con la mitad correspondiente. (VER ANIMACION)(VER CODIGO)

13

Algoritmos de Ordenacin
Ordenacin por seleccin
PROBLEMA: Realizar una serie de intercambios entre elementos de un un vector v para que quede ordenado (ascendentemente). (ascendentemente)

ALGORITMO:
1. Determinar la posicin del menor elemento de v e intercambiarlo con el que ocupa p la primera p posicin p (la ( cero). ) 2. Determinar la posicin del menor elemento de v sin considerar el primero e intercambiarlo con el que ocupa la segunda posicin. 3. Determinar la posicin del menor elemento de v sin considerar los dos primeros e intercambiarlo con el que ocupa la tercera posicin 4. Repetir el proceso hasta que v quede ordenado.

14

Algoritmos g de Ordenacin
Ordenacin por seleccin
Durante el proceso se manejan dos subvectores:
El de la izquierda ordenado. El d de l la d derecha h d desordenado. d d

La principal idea de este algoritmo es: En cada pasada, se selecciona el elemento ms pequeo del subvector no ordenado y se intercambia con el primer elemento de este mismo subvector.
(VER CODIGO) (VER ANIMACION)

15

Algoritmos g de Ordenacin
Mtodo de la burbuja
l que antes, t i d se va d j d un Al i igual al la i izquierda dejando subvector ordenado.

La idea de la burbuja es: El subvector desordenado se procesa desde el final y hacia atrs: Se van comparando elementos dos a dos y se deja a la izquierda el ms pequeo (hay que intercambiarlos).
(VER CODIGO) (VER ANIMACION)

16

Matrices
Generalidades
const int MAX_FIL = 6, MAX_COL = 8;

int m[MAX_FIL][MAX_COL];
int utilF_m = 4, utilC_m = 4; _ utilCol_m

MAX COL MAX_COL

utilFil_ _m

110 -32 1 15
MAX_F FIL

65 9 21 48

23 65 54 27

80 45 4 25

? ? ? ? ? ?

? ? ? ? ? ?

? ? ? ? ? ?

? ? ? ? ? ?

? ?

? ?

? ?

? ?

17

Matrices
Procesamiento
Las matrices se procesan elemento a elemento. La mayora de procesos sobre matrices se llevan a cabo mediante DOS instrucciones for.
for (int i=0; i<utilFil_m; i++) for (int j=0; j<utilCol_m; j++) procesar

El primer for mueve el ndice i de las filas y el segundo el ndice j de las columnas.

m[i][j];

Ejercicio 1: Leer una matriz de enteros y mostrar por pantalla la fila y columna del mayor (SOLUCION). Ej Ejercicio i i 2: Realizar R li un programa para b buscar un elemento dentro de una matriz (SOLUCION).

18

Matrices
Modularizacin
DEFINICION MODULO: MODULO
{ }

Es necesario especificar MAX_COL. Por ello, hay que definir esta constante de forma global (despus de using).

void modulo(int m[][MAX_COL], int utilFil_m, int utilCol_m)

LLAMADA MODULO:
modulo(m, d l ( utilFil_m, il il utilCol_m); il l )

POR DEFECTO las matrices p pasan p por REFERENCIA PASO POR VALOR de matrices:
void modulo(const int m[][MAX_COL], int utilFil_m, int utilCol_m)

19

Matrices
Ejercicios
Construir un programa modular que utilice tres tareas (SOLUCION): 1. Leer una matriz de reales 1 reales. 2. Eliminar los decimales de los elementos de la matriz. 3. Mostrar por pantalla los elementos resultantes de la matriz. Construir un mdulo que acepte dos matrices y devuelva true si son iguales y false en caso contrario
(SOLUCION). (SOLUCION)

Realizar un programa para comprobar si un vector se corresponde con alguna de las filas de una matriz (SOLUCION).

Вам также может понравиться

  • Copia de Copia de Tarea Arreglos Unidimensionales GRUPO X
    Copia de Copia de Tarea Arreglos Unidimensionales GRUPO X
    Документ15 страниц
    Copia de Copia de Tarea Arreglos Unidimensionales GRUPO X
    Alexis Martinez
    50% (2)
  • P2 - Proyecto de Problematización
    P2 - Proyecto de Problematización
    Документ2 страницы
    P2 - Proyecto de Problematización
    Sasha Ullon
    Оценок пока нет
  • Extracción subcadenas vectores búsqueda
    Extracción subcadenas vectores búsqueda
    Документ12 страниц
    Extracción subcadenas vectores búsqueda
    elmer jeansier Quezada Aguero
    Оценок пока нет
  • Cultura y Sociedad 05
    Cultura y Sociedad 05
    Документ1 страница
    Cultura y Sociedad 05
    Carlos Perez
    Оценок пока нет
  • Cultura y Sociedad 05
    Cultura y Sociedad 05
    Документ1 страница
    Cultura y Sociedad 05
    Carlos Perez
    Оценок пока нет
  • Qué Es Un Virus Informático
    Qué Es Un Virus Informático
    Документ3 страницы
    Qué Es Un Virus Informático
    Carlos Perez
    Оценок пока нет
  • Redes Telecomunicaciones
    Redes Telecomunicaciones
    Документ2 страницы
    Redes Telecomunicaciones
    Carlos Perez
    Оценок пока нет
  • Cultura y Sociedad 03
    Cultura y Sociedad 03
    Документ1 страница
    Cultura y Sociedad 03
    Carlos Perez
    Оценок пока нет
  • Formula Rio
    Formula Rio
    Документ1 страница
    Formula Rio
    Carlos Perez
    Оценок пока нет
  • Cultura y Sociedad 01
    Cultura y Sociedad 01
    Документ1 страница
    Cultura y Sociedad 01
    Carlos Perez
    Оценок пока нет
  • Cultura y Sociedad 04
    Cultura y Sociedad 04
    Документ1 страница
    Cultura y Sociedad 04
    Carlos Perez
    Оценок пока нет
  • Cultura y Sociedad 002
    Cultura y Sociedad 002
    Документ1 страница
    Cultura y Sociedad 002
    Carlos Perez
    Оценок пока нет
  • Qué Es Un Cargo
    Qué Es Un Cargo
    Документ1 страница
    Qué Es Un Cargo
    Carlos Perez
    Оценок пока нет
  • Desarrollo de Software Web
    Desarrollo de Software Web
    Документ2 страницы
    Desarrollo de Software Web
    Carlos Perez
    Оценок пока нет
  • Pensum Computacion.
    Pensum Computacion.
    Документ2 страницы
    Pensum Computacion.
    Carlos Perez
    Оценок пока нет
  • Formulario Perfil
    Formulario Perfil
    Документ1 страница
    Formulario Perfil
    Carlos Perez
    Оценок пока нет
  • Formulario Perfil
    Formulario Perfil
    Документ1 страница
    Formulario Perfil
    Carlos Perez
    Оценок пока нет
  • Copyright
    Copyright
    Документ1 страница
    Copyright
    Carlos Perez
    Оценок пока нет
  • Verbos para Tesis
    Verbos para Tesis
    Документ11 страниц
    Verbos para Tesis
    Wilmarty Méndez De Colmenárez
    100% (2)
  • Modelo Cambio HR Scribd
    Modelo Cambio HR Scribd
    Документ1 страница
    Modelo Cambio HR Scribd
    Carlos Perez
    Оценок пока нет
  • Formulario Perfil
    Formulario Perfil
    Документ1 страница
    Formulario Perfil
    Carlos Perez
    Оценок пока нет
  • Uñas Con Aerografía
    Uñas Con Aerografía
    Документ1 страница
    Uñas Con Aerografía
    Carlos Perez
    Оценок пока нет
  • Guía Básica de HTML 5
    Guía Básica de HTML 5
    Документ8 страниц
    Guía Básica de HTML 5
    Carlos Perez
    Оценок пока нет
  • Electronic A Digital
    Electronic A Digital
    Документ32 страницы
    Electronic A Digital
    tuquedises
    Оценок пока нет
  • Introduccion XML
    Introduccion XML
    Документ2 страницы
    Introduccion XML
    Carlos Perez
    Оценок пока нет
  • Manual Cisco
    Manual Cisco
    Документ34 страницы
    Manual Cisco
    menamigue
    Оценок пока нет
  • Algoritmos de Búsqueda de Árboles
    Algoritmos de Búsqueda de Árboles
    Документ4 страницы
    Algoritmos de Búsqueda de Árboles
    Carlos Perez
    Оценок пока нет
  • Funcionamiento Del Protocolo TCP
    Funcionamiento Del Protocolo TCP
    Документ1 страница
    Funcionamiento Del Protocolo TCP
    Carlos Perez
    Оценок пока нет
  • Formulas Fisica
    Formulas Fisica
    Документ4 страницы
    Formulas Fisica
    Carlos Perez
    Оценок пока нет
  • Arreglo Sin Ves
    Arreglo Sin Ves
    Документ10 страниц
    Arreglo Sin Ves
    jnrrys
    Оценок пока нет
  • Workflow
    Workflow
    Документ4 страницы
    Workflow
    Carlos Perez
    Оценок пока нет
  • Formulas Fisica
    Formulas Fisica
    Документ4 страницы
    Formulas Fisica
    Carlos Perez
    Оценок пока нет
  • IS284 ExamenPrimerParcial Cuestionario 2021-2
    IS284 ExamenPrimerParcial Cuestionario 2021-2
    Документ13 страниц
    IS284 ExamenPrimerParcial Cuestionario 2021-2
    Maria Camila Valencia Dominguez
    Оценок пока нет
  • Clase 04
    Clase 04
    Документ59 страниц
    Clase 04
    Andres Salcedo Monterroso
    Оценок пока нет
  • 3 - Arreglos
    3 - Arreglos
    Документ14 страниц
    3 - Arreglos
    Ramiro Mateo
    Оценок пока нет
  • Arreglos Dinamicos
    Arreglos Dinamicos
    Документ13 страниц
    Arreglos Dinamicos
    Katt Niall KN
    Оценок пока нет
  • Funciones en C
    Funciones en C
    Документ3 страницы
    Funciones en C
    dijolev
    Оценок пока нет
  • Manual de Programación Básica
    Manual de Programación Básica
    Документ44 страницы
    Manual de Programación Básica
    Mario Peralta
    Оценок пока нет
  • Informe 1 Malca Control I
    Informe 1 Malca Control I
    Документ17 страниц
    Informe 1 Malca Control I
    JoelAnthonyOréDionisio
    Оценок пока нет
  • Fundamentos de Informática
    Fundamentos de Informática
    Документ5 страниц
    Fundamentos de Informática
    Roberto Manrique Balmaceda
    Оценок пока нет
  • Black Zone Portal
    Black Zone Portal
    Документ119 страниц
    Black Zone Portal
    PIERO MANUEL VASSALLO MEZA
    100% (1)
  • a3ERP Nax
    a3ERP Nax
    Документ16 страниц
    a3ERP Nax
    ate29a
    Оценок пока нет
  • Estructura de Datos
    Estructura de Datos
    Документ125 страниц
    Estructura de Datos
    Imelda Patiño
    100% (1)
  • Algoritmo para determinar matriz diagonal
    Algoritmo para determinar matriz diagonal
    Документ56 страниц
    Algoritmo para determinar matriz diagonal
    AARON SEBASTIAN CHIRIBOGA TOAPANTA
    Оценок пока нет
  • Lenguaje C
    Lenguaje C
    Документ25 страниц
    Lenguaje C
    Erick Jonathan Carreño Luna
    Оценок пока нет
  • Métodos Ordenamiento C
    Métodos Ordenamiento C
    Документ24 страницы
    Métodos Ordenamiento C
    flor
    100% (1)
  • Guia de Laboratorio de Fundamentos de Programacion 9
    Guia de Laboratorio de Fundamentos de Programacion 9
    Документ5 страниц
    Guia de Laboratorio de Fundamentos de Programacion 9
    nerutrab
    Оценок пока нет
  • Command Button
    Command Button
    Документ4 страницы
    Command Button
    Yiyi Ezr
    Оценок пока нет
  • Program As
    Program As
    Документ15 страниц
    Program As
    Josué Rebolledo
    Оценок пока нет
  • Paso 5: Construcción Individual
    Paso 5: Construcción Individual
    Документ13 страниц
    Paso 5: Construcción Individual
    July Estefania Vargas Macias
    100% (1)
  • Presentación GADEST
    Presentación GADEST
    Документ42 страницы
    Presentación GADEST
    Luis Huamani
    Оценок пока нет
  • Arreglos
    Arreglos
    Документ11 страниц
    Arreglos
    tony
    Оценок пока нет
  • Manual JAVA
    Manual JAVA
    Документ20 страниц
    Manual JAVA
    Ramon Aban
    Оценок пока нет
  • Matriz de Objetos PDF
    Matriz de Objetos PDF
    Документ4 страницы
    Matriz de Objetos PDF
    rolandoelias
    Оценок пока нет
  • Instruccion If Programacion Pascal
    Instruccion If Programacion Pascal
    Документ9 страниц
    Instruccion If Programacion Pascal
    alejandro evariste
    Оценок пока нет
  • Arreglos
    Arreglos
    Документ5 страниц
    Arreglos
    mario
    Оценок пока нет
  • Unidad 5 Algoritmo y Lenguaje de Programacion
    Unidad 5 Algoritmo y Lenguaje de Programacion
    Документ15 страниц
    Unidad 5 Algoritmo y Lenguaje de Programacion
    Miguel Torr
    Оценок пока нет
  • 04 Funciones
    04 Funciones
    Документ25 страниц
    04 Funciones
    Sergio Fernandez
    Оценок пока нет
  • 17 - Vectores Mayor y Menor Elemento
    17 - Vectores Mayor y Menor Elemento
    Документ3 страницы
    17 - Vectores Mayor y Menor Elemento
    Marcos Daniel Ruiz Diaz Mendoza
    Оценок пока нет