Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - aiuto per un esercizio
Forum - C/C++ - aiuto per un esercizio

Avatar
Nigthwood43 (Normal User)
Newbie


Messaggi: 1
Iscritto: 17/11/2020

Segnala al moderatore
Postato alle 15:58
Martedì, 17/11/2020
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++

  1. #include<iostream>
  2. #include<iomanip>
  3. using namespace std;
  4. main()
  5. {
  6.     int n;
  7.     int c=1;
  8.     int riga;
  9.    
  10.     cout<<"inserisci il numero";
  11.     cin>>n;
  12.    
  13.     while(c<n)
  14.     {
  15.         if(c%4==0)
  16.         {
  17.             cout<< setw(4)<<n<<",";
  18.             c++;
  19.             riga++;
  20.         }
  21.         if(riga%3==0)
  22.         {
  23.         cout<<endl;
  24.         }
  25.        
  26.     }
  27.     return 0;
  28. }


Ultima modifica effettuata da Thejuster il 18/11/2020 alle 10:07
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 767
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 17:26
Martedì, 17/11/2020
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 il 17/11/2020 alle 20:59


in programmazione tutto è permesso
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6108
Iscritto: 03/01/2010

Segnala al moderatore
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ì.


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à.
PM Quote