Anonimo
Anonimo ha chiesto in Computer e InternetProgrammazione e Design · 2 mesi fa

problema C++?

la traccia dice:

scrivi N numeri e fai in modo che il numero stampato sia il doppio del precedente.

ora so che devo usare il ciclo For, però come faccio a capire quand'è il momento di fermare il ciclo? Perchè in pratica lo stavo facendo, e giustamente ho notato che il ciclo continua all'infinito perchè non c'è scritta una condizione con un valore finale oltre il quale il programma termina.

Ora la mia domanda è: come posso dedurre quand'è il momento di fermare il ciclo for? grazie a chi mi risponde chiaramente

Aggiornamento:

si ma stai calmo

Aggiornamento 2:

appunto..

7 risposte

Classificazione
  • Anonimo
    2 mesi fa
    Risposta preferita

    //dopp.cpp

    #include <iostream>

    using namespace std;

    main()

    {

          int n,m,i;

          cout << "Inserisci il numero degli elementi: ";

          cin >> n;

          cout << "Inserisci l'inizio: ";

          cin >> i;

          for(m=0;m<n;m++)

          {

           i *=2;

           cout << i << " ";

          }

          cout << endl;

          system("pause");

    }

  • 2 mesi fa

    Ciao.

    Qualcuno ti ha dato la soluzione che ovviamente se hai posto la domanda non hai capito.

    Il ciclo FOR Opera nella seguente maniera:

    for(PUNTO DI PARTENZA;PUNTO DI DESTINAZIONE;LUNGHEZZA DEL PASSO)

    Esempio sintattico:

    int MiaVariabile;

    int Destinazione = 100;

    for(MiaVariabile=0;MiaVariabile<Destinazione;MiaVariabile++)

    // MiaVariabile  è una variabile numerica

    // Nel primo passo viene defininita la partenza che inizia dal valore 0

    // Nel secondo passo  si crea la condizione di continuare il ciclo finchè MiaVariabile è minore di Destinazione.

    // Il Terzo passo incrementa di uno il valore di MiaVariabile

    Ovviamente se nella condizione inserisci una logica che va oltre esempio : MiaVariabile>0 ecco che essendo vera il ciclo sarà infinito.

    Quindi bisogna sempre conoscere gli operatori usati e fare attenzione ad una cosa importantissima:

    = non è uguale a ==

    Molti bug nascono da errori nell'uso degli operatori tipo il classico simbolo =

    infatti se scrivo x = 2  Significa che il valore di x diventa 2

    ma se scrivo x == 2 Significa  che  se x fosse uguale a 2 allora il darebbe valore vero

    (x=2) = 2

    (x==2) = 1 oppure 0 nel caso x contiene un'altro valore diverso da 2.

    Spero di essere stato abbastanza esaustivo e averti fatto capire come funziona il ciclo FOR

  • 2 mesi fa

    Il ciclo for, indipendentemente dal linguaggio usato (C/C++, Python, JavaScript, ecc) funziona così: inizio-incremento-fine. Quindi è già prevista la fine, si ferma da solo. Invece il ciclo while potrebbe non fermarsi, ad esempio tu dicimdi uscire dal ciclo se si verifica una determinata condizione, ma se non si verifica continui a ripetere il ciclo all'infinito. Detto ciò, anche se in questo caso sarebbe più indicato un ciclo while, tramite ciclo for il codice è questo:

    #include <stdlib.h>

    #include <stdio.h>

    #define N 20 //ad esempio 20 numeri

    int main (){

    int i;

    int ris=1; //valore iniziale

    for (i=0;i <N;i++){

    printf ("%d\n",ris);

    ris*=2; //il prossimo valore sarà il doppio

    }

    system ("pause");

    return 0;

    }

  • Anonimo
    2 mesi fa

                     

  • Che ne pensi delle risposte? Puoi accedere per votare la risposta.
  • 2 mesi fa

    stiamo buoni dai :)

  • Anonimo
    2 mesi fa

                    

  • 2 mesi fa

    1) non è necessario il ciclo for

    2) ma ci sei o ci fai?? Stampare n numeri significa fermare il ciclo quando hai stampato n volte il numero

Altre domande? Fai una domanda e ottieni le risposte che cerchi.