Oppure

Loading
17/11/20 14:58
Nigthwood43
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


#include<iostream>
#include<iomanip>
using namespace 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;
        }
        
    }
    return 0;
}

Ultima modifica effettuata da Thejuster 18/11/20 9:07
17/11/20 16:26
Carlo
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. :heehee:

Se non fa quello che ti aspettavi, per aiutarti dovremmo sapere cosa ti aspettavi :rofl::k:
Ultima modifica effettuata da Carlo 17/11/20 19:59
in programmazione tutto è permesso
18/11/20 9:01
nessuno
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ì.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.