C++ Variables multivalor (Arrays)

Enviado por jvilella el Lun, 23/09/2019 - 04:11

Requisitos:

Los arrays nos permiten almacenar diversos valores en una única variable. En esencia esta variable contiene una lista de valores.

Crear un array es muy sencillo, solo tenemos que indicar entre corchetes cuántos valores queremos que contenga la variable. Por ejemplo:

int notas[10];

La variable notas puede almacenar hasta 10 valores. Por tanto la variable notas ahora tiene 10 posibles posiciones donde almacenar valores. Estas posiciones se numeran empezando por la 0, por tanto si tiene 10 posiciones van numeradas de 0 a 9.

Podemos asignar un valor a una posición así:

notas[4] = 10;

En la quinta posición ponemos el valor 10. Es la quinta posición porque las posiciones están numeradas desde la 0, por lo tanto 0 es la primera posición, 1 es la segunda, 2 es la tercera, 3 es la cuarta y 4 es la quinta posición.
Y para consultar el valor en una posición:

cout << notas[4];

Atención, si el array tiene 10 posiciones, com en este caso, no podemos acceder a la posición notas[10] porque no existe. Ni a ninguna posición superior, ni a ninguna posición negativa. En caso de hacerlo el programa probablemente se finalizará inmediatamente. Cuando una instrucción accede a una posición fuera de los límites del vector decimos que “se ha salido del vector”.

La ventaja de los arrays es que podemos emplear una variable para indicar la posición a la que queremos acceder. Por ejemplo:

int posicion = 4;
cout << notas[posicion];

Y por tanto podemos pedir un número indeterminado de valores:

int cantidad;
cout << "¿Cuantos valores quiere poner?" << endl;
cin >> cantidad;
int notas[cantidad];
int posicion = 0;
while (posicion < cantidad) {
    cout << "Pon un valor: " << endl;
    cin >> notas[posicion];
    posicion = posicion + 1;
}

Es importante ver que la condición es “while (posicion < cantidad)”, es decir, mientras posicion sea estrictamente menor que cantidad, porque la posición “notas[cantidad]” no existe.

No podemos hacer “cout << notas”, tenemos que mostrarlas una a una. Por tanto para mostrar por pantalla todos los valores del array notas debes hacer:

posicion = 0;
while (posicion < cantidad) {
    cout << notas[posicion];
    posicion = posicion + 1;
}

 

Printer Friendly, PDF & Email

Añadir nuevo comentario

Texto sin formato

  • No se permiten etiquetas HTML.
  • Saltos automáticos de líneas y de párrafos.
  • Las direcciones de correos electrónicos y páginas web se convierten en enlaces automáticamente.