Menu
Coddy logo textTech

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.

challenge icon

Desafio

Fácil

Crie 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 n representando a quantidade de produtos
  • Em seguida, n strings representando os nomes dos produtos

Seu programa deve:

  1. Criar um std::vector<std::string> chamado products
  2. Usar push_back() para adicionar cada um dos n nomes de produtos ao vetor
  3. Usar um loop for tradicional com uma variável de índice para iterar através do vetor
  4. No loop, usar o método .size() para a condição do loop
  5. Usar o operador de colchetes [] para acessar cada elemento pelo índice
  6. 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;
}
quiz iconTeste seus conhecimentos

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