Lección 9 · 9 de 20
for y for de rango · C++
Cuente con el for clásico de C++, recorra colecciones con el for de rango y anide bucles para construir una tabla.

El `for` clásico reúne tres partes entre paréntesis: el inicio (int i = 1), la condición (i <= 5) y el paso (i++). Es el bucle para contar, aquí la tabla del 7. La variable i solo existe dentro del bucle.
El paso puede ser cualquiera: n += 2 recorre los números pares hasta 100, que se van acumulando en sum. Si el cuerpo es una sola instrucción, no hacen falta llaves.
El `for` de rango, for (double t : temps), recorre todos los elementos de una colección sin índices: en cada vuelta, t toma un valor. temps es un array de tamaño fijo, heredado de C; en la próxima lección conocerá std::vector, mucho más flexible.
Una std::string también es una colección, de caracteres: el bucle mira cada char de programming y cuenta sus vocales.
Los bucles anidados van uno dentro de otro: por cada fila, el bucle interior recorre las cuatro columnas, y el '\t' las alinea en forma de tabla.
Código · main.cpp
#include <iostream>#include <string>int main() { // for (start; condition; step): the classic counting loop. for (int i = 1; i <= 5; i++) { std::cout << "7 x " << i << " = " << 7 * i << '\n'; } // Adding up inside a loop, in steps of 2. int sum = 0; for (int n = 2; n <= 100; n += 2) sum += n; std::cout << "2 + 4 + ... + 100 = " << sum << '\n'; // Range-based for: goes through every element of a collection. double temps[] = {18.5, 21.0, 24.5, 19.0}; double total = 0; for (double t : temps) total += t; std::cout << "Average temperature: " << total / 4 << '\n'; // A string is a collection of characters. int vowels = 0; for (char c : std::string("programming")) if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') vowels++; std::cout << "Vowels in \"programming\": " << vowels << '\n'; // Nested loops: a small multiplication grid. for (int row = 1; row <= 3; row++) { for (int col = 1; col <= 4; col++) std::cout << row * col << '\t'; std::cout << '\n'; } return 0;}Salida · c++ -std=c++17 main.cpp -o main && ./main
7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 2 + 4 + ... + 100 = 2550 Average temperature: 20.75 Vowels in "programming": 3 1 2 3 4 2 4 6 8 3 6 9 12
Para recordar
for (inicio; condición; paso)sirve para contar.- El paso puede ser
i++,i--,i += 2... for (tipo x : colección)recorre cada elemento.- Una cadena se recorre carácter a carácter.
- Un bucle dentro de otro recorre filas y columnas.
Ejercicio
Escriba la tabla de multiplicar completa del 1 al 9 con dos for anidados y, con un for de rango sobre un array {12, 7, 30, 5}, busque el mayor de esos números.