Iterar con un bucle For
Parte de la sección Lógica y Flujo del Journey de C++ de Coddy — lección 14 de 56.
Ahora que ya sabes cómo acceder a elementos individuales y comprobar el tamaño de un vector, aprendamos a procesar cada elemento sistemáticamente utilizando un bucle for tradicional. Este enfoque combina el método .size() con el acceso basado en índices para visitar cada elemento en secuencia.
Un bucle for tradicional utiliza una variable de índice que comienza en 0 y se incrementa hasta que alcanza el tamaño del vector:
std::vector<std::string> names = {"Alice", "Bob", "Charlie"};
for (int i = 0; i < names.size(); i++) {
std::cout << names[i] << std::endl;
}En este ejemplo, la condición del bucle i < names.size() asegura que no sobrepasemos los límites del vector, mientras que names[i] accede a cada elemento utilizando el índice actual. El bucle imprimirá cada nombre en una línea separada.
Este patrón es fundamental para procesar colecciones de datos. La variable de índice i te brinda un control preciso sobre con qué elemento estás trabajando, lo que lo hace útil cuando necesitas conocer la posición de cada elemento o cuando deseas modificar elementos durante la iteración.
Desafío
FácilCrea un programa que utilice un bucle for tradicional para iterar a través de un vector de nombres de productos y los muestre en un formato de lista numerada.
Se proporcionarán las siguientes entradas:
- Un entero
nque representa el número de productos - Luego
ncadenas que representan los nombres de los productos
Tu programa debe:
- Crear un
std::vector<std::string>llamadoproducts - Usar
push_back()para añadir cada uno de losnnombres de productos al vector - Usar un bucle for tradicional con una variable de índice para iterar a través del vector
- En el bucle, usar el método
.size()para la condición del bucle - Usar el operador de corchetes
[]para acceder a cada elemento por su índice - Imprimir cada producto con su número de posición (empezando desde 1) en el formato especificado
Usa exactamente el siguiente formato de salida:
Product 1: [first product name]
Product 2: [second product name]
Product 3: [third product name]
...El bucle for debe comenzar con el índice 0, usar i < products.size() como condición e incrementar i en cada iteración. Al imprimir, suma 1 al índice para mostrar los números de posición comenzando desde 1.
Hoja de referencia
Usa un bucle for tradicional para iterar a través de un vector combinando .size() con el acceso basado en índices:
std::vector<std::string> names = {"Alice", "Bob", "Charlie"};
for (int i = 0; i < names.size(); i++) {
std::cout << names[i] << std::endl;
}La condición del bucle i < names.size() asegura que no sobrepases los límites del vector, mientras que names[i] accede a cada elemento utilizando el índice actual. La variable de índice te otorga un control preciso sobre con qué elemento estás trabajando y te permite conocer la posición de cada elemento.
Pruébalo tú mismo
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
// Leer el número de productos
int n;
cin >> n;
// Crear un vector para almacenar los nombres de los productos
vector<string> products;
// Leer los nombres de los productos y añadirlos al vector
for (int i = 0; i < n; i++) {
string product;
cin >> product;
products.push_back(product);
}
// TODO: Escribe tu código a continuación
// Usa un bucle for tradicional para iterar a través del vector
// e imprimir cada producto con su número de posición
return 0;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Punteros y memoria
¿Qué es un puntero?Operador de direcciónOperador de desreferenciaPunteros nulosPunteros y arraysMemoria dinámica con 'new'Liberar memoria con 'delete'Resumen: Práctica de punteros2Vectores (Arrays dinámicos)
Introducción a std::vectorCreación de un VectorAgregar elementosAcceder a los elementosTamaño del VectorIterar con un bucle ForBucle For basado en rangosEliminar elementosResumen - Operaciones con Vectores5Proyecto: Herramienta de inventario
Configuración del proyectoAgregar y actualizar artículos3Proyecto: Herramienta de lista de tareas
Descripción general del proyectoAñadir una tarea