Laços Aninhados
Parte da seção Fundamentos do Journey de C da Coddy. Lição 43 de 63.
Loops aninhados são loops colocados dentro de outro loop. Para cada iteração do loop externo, o loop interno é executado completamente.
Crie um loop externo que seja executado 3 vezes:
for (int i = 0; i < 2; i++) {
// Código do loop externo aqui
}Adicione um loop interno que execute 3 vezes para cada iteração do loop 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");
}A saída será:
0,0 0,1 0,2
1,0 1,1 1,2 Observe como o loop interno completa suas iterações antes que o loop externo passe para a próxima iteração. Cada loop tem seu próprio contador: j começa novamente em 0 toda vez que o loop externo é executado, enquanto rows e cols permanecem iguais e apenas indicam aos loops quando parar.
Desafio
FácilCrie um programa que imprima um padrão retangular de asteriscos (*) com base no número de linhas e colunas fornecido pelo usuário.
Seu programa deve:
- Ler dois números inteiros do usuário: linhas e colunas.
- Usar loops aninhados para imprimir um padrão retangular de asteriscos, em que o loop externo controla as linhas e o loop interno controla as colunas.
- Imprimir uma quebra de linha após cada linha.
Por exemplo, se a entrada for 3 linhas e 4 colunas, a saída deverá ser:
****
****
****Use um novo contador para cada loop (por exemplo, i para as linhas e j para os asteriscos em uma linha) e compare-o com rows ou columns. Não altere rows e columns: cada linha precisa de columns novamente.
Experimente você mesmo
#include <stdio.h>
int main() {
int rows, columns;
scanf("%d", &rows);
scanf("%d", &columns);
// Escreva seu código aqui para imprimir o padrão
return 0;
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
2Variáveis
Tipos de dadosInteiroPonto flutuante - DoubleCaracteresBooleanosConstantesNoções básicas de printfRegras de nomenclatura de variáveisConversão de tipos - Parte 1Conversão de tipos - Parte 2Desafio de revisão3Operadores
Operadores aritméticosOperador móduloIncremento/DecrementoOperadores de atribuiçãoOperadores relacionaisOperadores lógicos Parte 1Operadores lógicos Parte 2Operadores lógicos Parte 3Desafio de revisão6Laços de Repetição
Laço ForLaço WhileLaço Do WhileBreakContinueDesafio de Revisão nº 1Laços AninhadosLaços InfinitosDesafio de Revisão nº 2Pratique por conta própria: Compilador de C online