TRabajo redes

Páginas: 6 (1283 palabras) Publicado: 9 de mayo de 2013
Informática. Práctica 7.
Vectores en C++.

PRÁCTICA

7

Vectores en C++ .
Hasta ahora, en las prácticas todos los datos que habíamos manejado eran “simples”:
enteros, reales, carácter,.... En esta práctica veremos cómo se trabaja con vectores, que son los
datos estructurados más sencillos y habituales, además de ser imprescindibles para el tratamiento de
datos a los que se quiereacceder de manera directa.

1. Vectores en C++
Un vector (array, en inglés) es una estructura de datos que nos permite almacenar una
colección de datos, todos ellos del mismo tipo, que a su vez puede ser simple o estructurado. Un
vector se caracteriza porque:
 los elementos del vector se almacenan en posiciones contiguas de memoria.
 existe un único nombre de variable que representa a todoslos elementos, diferenciándose éstos
por un índice.
 se puede acceder de manera directa a los elementos del vector.

En C++ no es estrictamente necesario definir un tipo de datos vector y después declarar
variables de ese tipo como hacemos en seudocódigo. En C++ directamente puede declararse que un
cierto número de datos del mismo tipo se agrupan bajo un mismo nombre.

83
83 Informática. Práctica 7.
Vectores en C++.

SEUDOCODIGO

C++

tipo
tvector=vector[1..] de
...
variables
:tvector
...

[];

Ejemplo
En seudocódigo, para poder trabajar con vectores de 10 elementos de tipo entero,
necesitaríamos escribir, por ejemplo:
tipo
tvector=vector[1..10] de entero
...
variables
v:tvector
...
Tras lo que v sería una variable vector de 10 enteros. En C++ bastacon escribir:
int v[10];

Índices en C++
Una de las características más significativas del lenguaje C++ en el uso de vectores es que
C++ indexa los elementos de un vector empezando en 0, y no en 1 como habitualmente hacemos
en seudocódigo. Esta es una de las características que más fácil es de olvidar, lo que suele traer
problemas, ya que si declaramos un vector en C++ y pensamos en suselementos indexados desde
1, estaremos olvidando el primer elemento del vector.

C++ indexa los elementos de un vector comenzando en 0 (cero)

Ejemplo
En el ejemplo anterior, los 10 elementos del vector int v[10] son:
v[0],v[1],v[2],...,v[8],v[9]
El quinto elemento del vector es v[4].

Otro detalle importante es que C++ no realiza comprobación de contorno en los vectores, es
decir, nodetiene la asignación de valores o acceso a valores fuera del vector. Es el
programador quien se ha de encargar de ello. De esta forma, y siguiendo el ejemplo anterior,
una expresión en la que apareciera v[12] no generaría un error al compilar un programa, pero
84
84

Informática. Práctica 7.
Vectores en C++.

estaríamos accediendo a una posición de memoria que no estaba previamente reservada.En el caso de acceso a las componentes el problema consistiría en la no obtención de los
resultados deseados, pero en el caso de asignación de valores a componentes podríamos
"machacar" datos de zonas prohibidas de memoria, pudiendo incluso bloquear el
ordenador. Debemos ser pues especialmente cuidadosos en el manejo de vectores.

C++ no realiza comprobaciones de contorno en el acceso aposiciones de un vector

Vectores bidimensionales: matrices
Recordemos que el tipo de un vector puede ser cualquiera, incluso un tipo estructurado. En
el caso particular de que lo que queramos definir sea un vector de vectores, podemos usar la
sintaxis:
[][];
con lo que definiríamos una matriz, especialmente útiles en el diseño de tablas y en aplicaciones
matemáticas.
Ejemplo
Para crearuna matriz m de 2 filas por 2 columnas, con sus elementos de tipo real,
escribiríamos:
float m[2][2];
Los índices siguen comenzando en cero, con lo que en este ejemplo los cuatro elementos de
la matriz serían:
m[0][0], m[0][1], m[1][0], m[1][1]

Inicialización de vectores
En el momento de declarar un vector, se nos da la posibilidad de dar valores a los distintos
elementos. Para ello...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Redes de trabajo
  • Trabajo De Redes
  • Trabajo De Redes
  • Trabajo de redes
  • TRABAJO DE REDES
  • trabajo redes
  • trabajo de redes
  • Trabajo redes

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS