Menu
Coddy logo textTech

Bucles anidados

Parte de la sección Fundamentals del Journey de C de Coddy — lección 43 de 63.

Los bucles anidados son bucles colocados dentro de otro bucle. Para cada iteración del bucle externo, el bucle interno se ejecuta por completo.

Crea un bucle externo que se ejecute 3 veces:

for (int i = 0; i < 3; i++) {
    // Código del bucle externo aquí
}

Agrega un bucle interno que se ejecute 2 veces por cada iteración del bucle externo:

for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 3; j++) {
        printf("%d,%d ", i, j);
    }
    printf("\n");
}

La salida será:

0,0 0,1 0,2 
1,0 1,1 1,2 

Observa cómo el bucle interno completa sus iteraciones antes de que el bucle externo pase a su siguiente iteración.

challenge icon

Desafío

Fácil

Crea un programa que imprima un patrón rectangular de asteriscos (*) basado en el número de filas y columnas proporcionado por el usuario.

Tu programa debe:

  1. Leer dos números enteros del usuario: rows y columns.
  2. Usar bucles anidados para imprimir un patrón rectangular de asteriscos donde el bucle externo maneja las filas y el bucle interno maneja las columnas.
  3. Imprimir una nueva línea después de cada fila.

Por ejemplo, si la entrada es 3 filas y 4 columnas, el resultado debería ser:

**** 
**** 
****

Hoja de referencia

Los bucles anidados son bucles colocados dentro de otro bucle. Por cada iteración del bucle externo, el bucle interno se ejecuta completamente.

Estructura básica de un bucle anidado:

for (int i = 0; i < outer_limit; i++) {
    for (int j = 0; j < inner_limit; j++) {
        // Código del bucle interno
    }
    // Código del bucle externo
}

Ejemplo con salida:

for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 3; j++) {
        printf("%d,%d ", i, j);
    }
    printf("\n");
}

Salida:

0,0 0,1 0,2 
1,0 1,1 1,2

El bucle interno completa todas sus iteraciones antes de que el bucle externo pase a su siguiente iteración.

Pruébalo tú mismo

#include <stdio.h>

int main() {
    int rows, columns;
    scanf("%d", &rows);
    scanf("%d", &columns);
    
    // Escribe tu código aquí para imprimir el patrón
    
    return 0;
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentals