Problema con esercizio c++

di il
25 risposte

Problema con esercizio c++

Ho questo problema: ho programmato un programmino che dati due numeri stampa a video i numeri compresi tra questi due. il fatto è che non capisco dove la mia sintassi sbaglia perchè il programma non viene proprio eseguito, si apre la console e resta vuota.

#include <iostream>
#include <stdlib.h>
using namespace std;
int a;
int b;
int i;
main()
{
    cout<<"Inserisci un numero a e b\n";
    cin>>a>>b;
   while(i=a && i<b)
   {
    i++;
    cout<<i<<endl;
   }
   
  system("pause");
  return 0;
}

25 Risposte

  • Re: Problema con esercizio c++

    La linea

    i=a;

    è un'assegnazione e non va nei criteri della while ma prima della stessa while

    In realtà la soluzione migliore è usare uma for
  • Re: Problema con esercizio c++

    Si lo vedo che così è sbagliato ma come potrei impostare il while affinchè faccia ciò che ho detto prima?
  • Re: Problema con esercizio c++

    Hai letto ? Te l'ho scritto sopra ...
  • Re: Problema con esercizio c++

    In realtà il ciclo for non lo conosco molto bene e non comprendo benissimo il suo funzionamento ma sò che il risultato logico è lo stesso di un ciclo while.
  • Re: Problema con esercizio c++

    Mi riferivo a come modificare la while ...

    Ti ripeto ... nella condizione

    while(i=a && i<b)

    la parte

    i=a

    non c'entra nulla. Va messa prima come assegnazione prima della while.
  • Re: Problema con esercizio c++

    AAh ok ma se imposto questo codice così comunque non riesce l'intento.
    
    cout<<"Inserisci un numero a e b\n";
    cin>>a>>b;
    a=i;
    while(i>a && i<b)
    {
         i++;
         cout<<i<<endl;
    }
    
  • Re: Problema con esercizio c++

    Deve essere

    i=a;

    attenzione. E nella while controlla solo b perché i parte da a
  • Re: Problema con esercizio c++

    Funziona perfettamente grazie mille.
  • Re: Problema con esercizio c++

    Hai compreso anche il perché?
  • Re: Problema con esercizio c++

    Certo praticamente io inserisco un numero a per esempio 5 e un numero b per esempio 10 e lui a ogni ciclo partendo da a la incrementa di 1 e poi diventa 6 poi ai prossimi cicli 7,8,9,10 finchè non si raggiunge il valore della b anche se io chiedevo i<b però stampa anche b questo non l'ho capito pur mettondo ++i
  • Re: Problema con esercizio c++

    olegfresi ha scritto:


    anche se io chiedevo i<b però stampa anche b questo non l'ho capito pur mettondo ++i
    In questo caso ++i o i++ non fa differenza ...

    La while viene ripetuta finché è vera la condizione e se i<b viene ripetuta ...

    Cosa hai inserito per a e b ? Cosa viene visualizzato ?
  • Re: Problema con esercizio c++

    Ho inserito per esempio 10 e 15 e viene stampato 11,12,13,14,15 ma se io volessi escludere il 15 come dovrei fare, pensavo che i<b facesse questo e invece no.
  • Re: Problema con esercizio c++

    Ti ho spiegato il perché.

    14 è < 15

    quindi il ciclo viene ripetuto finché diventa falso (solo per 15 < 15)

    Rifletti
  • Re: Problema con esercizio c++

    Ok questo l'ho capito ma come posso fermare l'icrementazione quando i<b?
Devi accedere o registrarti per scrivere nel forum
25 risposte