Iterando com um Loop For
Parte da seção Lógica & Fluxo do Journey de C++ da Coddy — lição 14 de 56.
Agora que você sabe como acessar elementos individuais e verificar o tamanho de um vetor, vamos aprender como processar cada elemento sistematicamente usando um loop for tradicional. Esta abordagem combina o método .size() com o acesso baseado em índice para visitar cada elemento em sequência.
Um loop for tradicional usa uma variável de índice que começa em 0 e incrementa até atingir o tamanho do vetor:
std::vector<std::string> names = {"Alice", "Bob", "Charlie"};
for (int i = 0; i < names.size(); i++) {
std::cout << names[i] << std::endl;
}Neste exemplo, a condição do loop i < names.size() garante que não ultrapassemos os limites do vetor, enquanto names[i] acessa cada elemento usando o índice atual. O loop imprimirá cada nome em uma linha separada.
Este padrão é fundamental para processar coleções de dados. A variável de índice i oferece controle preciso sobre qual elemento você está trabalhando, tornando-o útil quando você precisa saber a posição de cada elemento ou quando deseja modificar elementos durante a iteração.
Desafio
FácilCrie um programa que use um loop for tradicional para iterar através de um vetor de nomes de produtos e exibi-los em um formato de lista numerada.
As seguintes entradas serão fornecidas:
- Um número inteiro
nrepresentando a quantidade de produtos - Em seguida,
nstrings representando os nomes dos produtos
Seu programa deve:
- Criar um
std::vector<std::string>chamadoproducts - Usar
push_back()para adicionar cada um dosnnomes de produtos ao vetor - Usar um loop for tradicional com uma variável de índice para iterar através do vetor
- No loop, usar o método
.size()para a condição do loop - Usar o operador de colchetes
[]para acessar cada elemento pelo índice - Imprimir cada produto com seu número de posição (começando em 1) no formato especificado
Use o seguinte formato de saída exato:
Product 1: [first product name]
Product 2: [second product name]
Product 3: [third product name]
...O loop for deve começar com o índice 0, usar i < products.size() como condição e incrementar i em cada iteração. Ao imprimir, adicione 1 ao índice para exibir os números de posição começando em 1.
Folha de consulta
Use um loop for tradicional para iterar por um vetor combinando .size() com acesso baseado em índice:
std::vector<std::string> names = {"Alice", "Bob", "Charlie"};
for (int i = 0; i < names.size(); i++) {
std::cout << names[i] << std::endl;
}A condição do loop i < names.size() garante que você não ultrapasse os limites do vetor, enquanto names[i] acessa cada elemento usando o índice atual. A variável de índice oferece controle preciso sobre qual elemento você está manipulando e permite que você saiba a posição de cada elemento.
Experimente você mesmo
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
// Ler o número de produtos
int n;
cin >> n;
// Criar um vetor para armazenar os nomes dos produtos
vector<string> products;
// Ler os nomes dos produtos e adicioná-los ao vetor
for (int i = 0; i < n; i++) {
string product;
cin >> product;
products.push_back(product);
}
// TODO: Escreva seu código abaixo
// Use um loop for tradicional para iterar pelo vetor
// e imprimir cada produto com seu número de posiçã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 Lógica & Fluxo
1Ponteiros e Memória
O que é um Ponteiro?Operador de EndereçoOperador de DesreferenciaçãoPonteiros NulosPonteiros e ArraysMemória Dinâmica com 'new'Liberando Memória com 'delete'Recapitulação - Prática com Ponteiros2Vetores (Arrays Dinâmicos)
Introdução ao std::vectorCriando um VetorAdicionando ElementosAcessando ElementosTamanho do VetorIterando com um Loop ForLoop For Baseado em IntervaloRemovendo ElementosRecapitulação - Operações com Vetores3Projeto: Ferramenta de Lista de Tarefas
Visão Geral do ProjetoAdicionando uma Tarefa