Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    13

    [C++] Push Back & Do While

    Ciao a tutti!
    Questa è la traccia dell'esercizio: Leggete un insieme di int in un vector. Stampate la somma di ciascuna coppia di numeri adiacenti.

    Il problema si presenta durante il pushback.
    Vorrei che mi facesse mettere un elemento nel vettore fino a quando non viene registrato il valore 0.
    Questo è ciò che ho scritto io, senza alcun risultato:
    codice:
    #include <iostream>
    using std::cout;
    using std::cin;
    using std::endl;
    
    
    #include <vector>
    using std::vector;
    
    
    int main(){
        vector<int> v;
        int x;
        
        do
        {  cin>>x;
            v.push_back(x);
        } while (x==0);
        
        for(int i=0; i<v.size()-1; i+=2)
            cout << v[i]+v[i+1] << endl;
        
    }
    Dove sbaglio?
    Grazie in anticipo.

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    dovrebbe esserti chiaro semplicemente traducendo
    codice:
    ripeti
    {
        ...
    } finché (x==0);
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    13
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    dovrebbe esserti chiaro semplicemente traducendo
    codice:
    ripeti
    {
        ...
    } finché (x==0);
    Ripeti {
    prendi valore di x
    aggiungilo alla fine del vettore
    }
    se x prende il valore di 0 termina il ciclo

    No? :/

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    No... while = mentre. Rimane dentro al ciclo mentre x == 0. Ovvero rimane dentro al ciclo fintanto che x == 0... quando x non è più uguale a 0, esce dal ciclo.

    codice:
    while( x == 0 ) {
       ...
    }

    E' quasi la stessa cosa... con un ciclo while, la condizione di permanenza è testata prima di entrare, con un do-while la condizione di permanenza (sempre di permanenza si tratta) è testata dopo ogni iterazione (quindi fa almeno un'iterazione). Ma sempre di un while si tratta.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2014
    Messaggi
    13
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    No... while = mentre. Rimane dentro al ciclo mentre x == 0. Ovvero rimane dentro al ciclo fintanto che x == 0... quando x non è più uguale a 0, esce dal ciclo.

    codice:
    while( x == 0 ) {
       ...
    }

    E' quasi la stessa cosa... con un ciclo while, la condizione di permanenza è testata prima di entrare, con un do-while la condizione di permanenza (sempre di permanenza si tratta) è testata dopo ogni iterazione (quindi fa almeno un'iterazione). Ma sempre di un while si tratta.


    Ciao.
    che errore stupido!
    Grazie mille, ho capito tutto gentilissimo!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.