Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703

    utilizzo ciclo while

    mm, allora non capisco dove è il problema..devo eseguire la moltiplicazione tra due numeri, con la limitazione che il compilatore non la prevede, per cui dovrò sommare "a" b volte..
    Ho già fatto un esercizio del genere tramite ciclo for, e funziona..ora però dovrei riuscirci tramite while..e sinceramente non capisco dove sbaglio, commento il code..

    codice:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        int a;
        int b;
        int p;
        cout << "primo numero";
        cin >> a;
        cout << "secondo numero";
        cin >> b;
        while(b>0) //finchè b è maggiore di 0
        {
                  p=p+a;   //la variabile p, che dovrà contenere il ris. viene aumentata del valore di a
                  b=b-1;   // la variabile b invece viene diminuita di 1, in modo da arrivare a 0
                  
        }
        cout << p;  //stampo il risultato
        
            
        
        system("PAUSE");
        return EXIT_SUCCESS;
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Non s'era detto che la variabile p va azzerata all'inizio?

    int p=0;
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    dho che scemo..scusami..chiudete pure ^^ me lo ero dimenticato anche stavolta, non mi va propio giù..forse perchè non ho capito il concetto che sta alla base del doverlo inzializzare a 0 tutte le volte.
    grazie

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da cleaner
    ... forse perchè non ho capito il concetto che sta alla base del doverlo inzializzare a 0 tutte le volte ...
    Tutte le volte che utilizzi una variabile totalizzatore ...

    Scusa, ma prova a fare la stessa "moltiplicazione" a mano, con carta e penna ...

    Come fai le addizioni?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    mm..per variabile totalizzatore intendi una variabile che deriva da calcoli effettuati su di essa in precedenza?! Perchè allora sarebbe giusto anche inizializzare b a 0; in quanto su di esso viene effettuato un calcolo ad ogni ciclo(cioè togliere 1);
    ehm.. mettendo il caso che i numeri sono 3(a) e 4(b) farei:
    3+3+3+3=12

    forse ho capito male io la domanda.. :master:
    p.s grazie dell'aiuto che mi stai dando, almeno la capisco una volta x tutte^^

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da cleaner
    mm..
    No ... b e' una variabile "contatore" ... perche' il suo valore iniziale e' noto (lo inserisce l'utente) e diminuisce fino a zero. Non avrebbe quindi senso "inizializzarla" a 0 ...

    Una variabile "totalizzatore" contiene il valore parziale delle varie somme.

    Nel tuo esempio, non devi scrivere semplicemente

    3+3+3+3=12

    ma fare le somme "una alla volta" (come fa il programma nel ciclo), usando il risultato precedente per la somma successiva ... provaci ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    mm quindi..
    a=3
    b=4
    p=0

    1) ciclo..

    p=0+3
    b=4-1

    al termine del primo ciclo p=3,b=3

    2)ciclo..

    p=3+3
    b=3-1

    al termine del secondo ciclo p=6,b=2

    3)ciclo..

    p=6+3
    b=2-1

    al termine del terzo ciclo p=9,b=1

    4)ciclo..

    p=9+3
    b=1-1

    al termine del quarto ciclo p=12; b=0


    Ah,ok, quindi, non conoscendo il valore di p, che sarà la variabile del risultato devo per forza inzializzara a 0, mentre il valore di b lo conosco da input-utente.
    Sai per caso dove posso trovare esercizi di questo tipo?(forse ho già trovato un link..) In modo da provare a farli da solo?
    grazie mille.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da cleaner
    Ah,ok, quindi, non conoscendo il valore di p, che sarà la variabile del risultato devo per forza inzializzara a 0
    Ecco ... appunto ...

    Sai per caso dove posso trovare esercizi di questo tipo?(forse ho già trovato un link..) In modo da provare a farli da solo?
    No, mi dispiace ... ma se vai in giro su siti di facoltà di ingegneria informatica o simili, ne dovresti trovare ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.