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 vector, vamos aprender a processar cada elemento sistematicamente usando um traditional for loop. Essa abordagem combina o método .size() com o acesso baseado em índice para visitar cada elemento em sequência.
Um traditional for loop usa uma variável de índice que começa em 0 e é incrementada até atingir o size do vector:
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.
Esse padrão é fundamental para processar coleções de dados. A variável de índice i oferece controle preciso sobre qual elemento você está manipulando, sendo útil quando você precisa saber a posição de cada elemento ou quando deseja modificar elementos durante a iteração.
Observe que, depois que o loop termina, i é igual a names.size(), neste caso, 3, porque o loop para assim que a condição i < names.size() se torna falsa.
Desafio
FácilCrie um programa que use um loop for tradicional para percorrer um vetor de nomes de produtos e exibi-los no formato de uma lista numerada.
As seguintes entradas serão fornecidas:
- Um número inteiro
nque representa a quantidade de produtos - Em seguida,
nstrings que representam 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 percorrer o vetor
- No loop, usar o método
.size()na 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 exato de saída:
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.
Experimente você mesmo
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
// Leia o número de produtos
int n;
cin >> n;
// Crie um vector para armazenar os nomes dos produtos
vector<string> products;
// Leia os nomes dos produtos e adicione-os ao vector
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 percorrer o vector
// e imprima 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 TarefaPratique por conta própria: Compilador de C++ online