Bucles anidados
Parte de la sección Fundamentos del Journey de C de Coddy. Lección 43 de 63.
Los bucles anidados son bucles colocados dentro de otro bucle. En 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 < 2; i++) {
// Código del bucle externo aquí
}Añade un bucle interno que se ejecute 3 veces por cada iteración del bucle externo:
int rows = 2;
int cols = 3;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; 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. Cada bucle tiene su propio contador: j vuelve a empezar desde 0 cada vez que se ejecuta el bucle externo, mientras que rows y cols permanecen iguales y solo indican a los bucles cuándo detenerse.
Desafío
FácilCrea un programa que imprima un patrón rectangular de asteriscos (*) según el número de filas y columnas proporcionado por el usuario.
Tu programa debe:
- Leer dos números enteros del usuario: filas y columnas.
- Usar bucles anidados para imprimir un patrón rectangular de asteriscos en el que el bucle externo controle las filas y el bucle interno controle las columnas.
- Imprimir un salto de línea después de cada fila.
Por ejemplo, si la entrada es de 3 filas y 4 columnas, la salida debe ser:
****
****
****Usa un contador nuevo para cada bucle (por ejemplo, i para las filas y j para los asteriscos de una fila) y compáralo con rows o columns. No cambies rows ni columns: cada fila necesita columns nuevamente.
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;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
2Variables
Tipos de datosEnteroFloat - DoubleCaracteresBooleanosConstantesConceptos básicos de printfReglas para nombrar variablesConversión de tipos, parte 1Conversión de tipos, parte 2Desafío de repaso3Operadores
Operadores aritméticosOperador móduloIncremento/DecrementoOperadores de asignaciónOperadores relacionalesOperadores lógicos Parte 1Operadores lógicos Parte 2Operadores lógicos Parte 3Desafío de repasoPractica por tu cuenta: Compilador de C online