Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
qualcuno mi saprebbe dire perchè il mio programma non funziona,il problema è che quando michiede di dare l'imput e schiaccio invio mi va a capo e non prende il numero
Codice sorgente - presumibilmente C++
#include<iostream>
#include<iomanip>
usingnamespace std;
main()
{
int n;
int c=1;
int riga;
cout<<"inserisci il numero";
cin>>n;
while(c<n)
{
if(c%4==0)
{
cout<< setw(4)<<n<<",";
c++;
riga++;
}
if(riga%3==0)
{
cout<<endl;
}
}
return0;
}
Ultima modifica effettuata da Thejuster il 18/11/2020 alle 10:07
Tieni in mente che si inizia con c che contiene 1 e n contiene il numero digitato.
Il programma fa tutto quello che hai scritto, e funziona perfettamente, il numero lo prende, se è negativo 0 o 1 nel confronto su while (c>n) risulta false e esce; se si introducono numeri maggiori di 1, while (c>n) risulta vero si entra nel loop if(c%4==0) è sempre false perché la divisione 1/4 non da resto zero e le istruzioni dentro all'if non verranno mai eseguite, riga non verrà mai incrementata e anche se non l'hai inizializzata presumibilmente conterrà sempre 0, per questo il secondo if: if(riga%3==0) sarà sempre vero e l'istruzione cout<<endl; verrà eseguita all'infinito finquando il S.O. lo riterrà opportuno.
Se non fa quello che ti aspettavi, per aiutarti dovremmo sapere cosa ti aspettavi
Ultima modifica effettuata da Carlo il 17/11/2020 alle 20:59
in programmazione tutto è permesso
()
Newbie
Messaggi: Iscritto:
Postato alle 10:01
Mercoledì, 18/11/2020
A parte il fatto che la variabile riga non è inizializzata (ma questo non è IL problema), questo codice non serve a nulla.
Magari dovresti partire dal testo dell'esercizio e spiegare perché lo hai risolto così.