Menu
Coddy logo textTech

Iterare con un ciclo for

Fa parte della sezione Logica e flusso del percorso C++ di Coddy. Lezione 14 di 56.

Ora che sai come accedere ai singoli elementi e controllare la dimensione di un vector, impariamo a elaborare ogni elemento sistematicamente usando un ciclo for tradizionale. Questo approccio combina il metodo .size() con l'accesso basato sugli indici per visitare ogni elemento in sequenza.

Un ciclo for tradizionale usa una variabile indice che parte da 0 e viene incrementata finché non raggiunge la dimensione del vettore:

std::vector<std::string> names = {"Alice", "Bob", "Charlie"};

for (int i = 0; i < names.size(); i++) {
    std::cout << names[i] << std::endl;
}

In questo esempio, la condizione del ciclo i < names.size() assicura che non superiamo i limiti del vettore, mentre names[i] accede a ogni elemento usando l'indice corrente. Il ciclo stamperà ogni nome su una riga separata.

Questo schema è fondamentale per elaborare raccolte di dati. La variabile indice i ti dà un controllo preciso sull’elemento con cui stai lavorando, rendendola utile quando devi conoscere la posizione di ogni elemento o quando vuoi modificare gli elementi durante l’iterazione.

Nota che, dopo la fine del ciclo, i è uguale a names.size(), in questo caso 3, perché il ciclo si interrompe non appena la condizione i < names.size() diventa falsa.

challenge icon

Sfida

Facile

Crea un programma che utilizzi un ciclo for tradizionale per scorrere un vector di nomi di prodotti e visualizzarli in un elenco numerato.

Verranno forniti i seguenti input:

  • Un intero n che rappresenta il numero di prodotti
  • Poi n stringhe che rappresentano i nomi dei prodotti

Il tuo programma dovrebbe:

  1. Creare un std::vector<std::string> denominato products
  2. Usare push_back() per aggiungere al vector ciascuno degli n nomi dei prodotti
  3. Usare un ciclo for tradizionale con una variabile indice per scorrere il vector
  4. Nel ciclo, usare il metodo .size() per la condizione del ciclo
  5. Usare l'operatore parentesi quadre [] per accedere a ciascun elemento tramite il suo indice
  6. Stampare ciascun prodotto con il relativo numero di posizione (a partire da 1) nel formato specificato

Usa esattamente il seguente formato di output:

Product 1: [first product name]
Product 2: [second product name]
Product 3: [third product name]
...

Il ciclo for dovrebbe iniziare con l'indice 0, usare i < products.size() come condizione e incrementare i a ogni iterazione. Quando stampi, aggiungi 1 all'indice per visualizzare i numeri di posizione a partire da 1.

Provalo tu

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main() {
    // Leggi il numero di prodotti
    int n;
    cin >> n;
    
    // Crea un vettore per memorizzare i nomi dei prodotti
    vector<string> products;
    
    // Leggi i nomi dei prodotti e aggiungili al vettore
    for (int i = 0; i < n; i++) {
        string product;
        cin >> product;
        products.push_back(product);
    }
    
    // TODO: Scrivi il tuo codice qui sotto
    // Usa un ciclo for tradizionale per scorrere il vettore
    // e stampa ogni prodotto con il suo numero di posizione
    
    return 0;
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore C++ online