Domanda Risolto Esercizio c++

Stato
Discussione chiusa ad ulteriori risposte.

Ducknaro

Bannato
23 Aprile 2019
1,949
58
531
678
Salve a tutti la traccia dell'esercizio è la seguente: scrivi un programma in c++ che conta i primi 100 numeri pari.
La codifica che ho fatto è la seguente ma non capisco cosa
C++:
//librerie
#include<iostream>
using namespace std;
//determinare i primi 100 numeri pari
int main(){
    int N,Conta,Somma,Num;
    Conta=0;
    Somma=0;
    Pari=0;
    cout<<"inserisci la quantita' dei numeri: ";
    cin>>N;
    while(Conta<N)
         {
         cout<<"inserisci il numero: ";
         cin>>Num;
         if(Num%2==0)
            Pari=Pari+1;
         Somma=Somma+1;
         Conta++;
         }
    getchar();
    
}

cosa manca al codice?
 
  • Mi piace
Reazioni: NER0NE
Salve a tutti la traccia dell'esercizio è la seguente: scrivi un programma in c++ che conta i primi 100 numeri pari.
La codifica che ho fatto è la seguente ma non capisco cosa
C++:
//librerie
#include<iostream>
using namespace std;
//determinare i primi 100 numeri pari
int main(){
    int N,Conta,Somma,Num;
    Conta=0;
    Somma=0;
    Pari=0;
    cout<<"inserisci la quantita' dei numeri: ";
    cin>>N;
    while(Conta<N)
         {
         cout<<"inserisci il numero: ";
         cin>>Num;
         if(Num%2==0)
            Pari=Pari+1;
         Somma=Somma+1;
         Conta++;
         }
    getchar();
    
}

cosa manca al codice?
L'unico errore di compilazione che ci sta è che Pari non è stato dichiarato, se hai altri problemi spiega cosa vuoi fare esattamente e scrivi anche l'output del terminale ;)
 
  • Mi piace
Reazioni: Vittorino
Ho dichiarato Pari ora cosa devo fare affinchè vengano visualizzati i primi 100 numeri pari?
C++:
//librerie
#include<iostream>
using namespace std;
//determinare i primi 100 numeri pari
int main(){
    int N,Conta,Somma,Num,Pari;
    Conta=0;
    Somma=0;
    Pari=0;
    cout<<"inserisci la quantita' dei numeri: ";
    cin>>N;
    while(Conta<N)
         {
         cout<<"inserisci il numero: ";
         cin>>Num;
         if(Num%2==0)
            Pari=Pari+1;
         Somma=Somma+1;
         Conta++;
         }
    getchar();
   
}

I numeri quando vado a provare il programma non me li visualizza .. perchè?
 
  • Mi piace
Reazioni: NER0NE
Ho dichiarato Pari ora cosa devo fare affinchè vengano visualizzati i primi 100 numeri pari?
C++:
//librerie
#include<iostream>
using namespace std;
//determinare i primi 100 numeri pari
int main(){
    int N,Conta,Somma,Num,Pari;
    Conta=0;
    Somma=0;
    Pari=0;
    cout<<"inserisci la quantita' dei numeri: ";
    cin>>N;
    while(Conta<N)
         {
         cout<<"inserisci il numero: ";
         cin>>Num;
         if(Num%2==0)
            Pari=Pari+1;
         Somma=Somma+1;
         Conta++;
         }
    getchar();
   
}

I numeri quando vado a provare il programma non me li visualizza .. perchè?
Perchè non li stampi da nessuna parte, devi inserire il cout di Conta.
 
Nel punto dove vuoi stampare, è abbastanza base il funzionamento.

Inoltre dovresti abiutarti ad usare nomi un pò più corretti e scrivere un pò più ordinato ;)

cioè cosa scrivo??
cout<<" i primi 100 nuermi pari sono: "<<conta<<endl; giusto??
che nomi sbaglio a usare? non ho indentato bene?
 
Ultima modifica:
Codice:
cout << Conta;
Mi pare


per vedere se funziona il programma che faccio?
su inserisci la quantità di numeri cosa metto?

Ma il programma non dovrebbe darmi da solo appena l'avvio tutti i numeri pari che partono dallo 0 in poi??
 
per vedere se funziona il programma che faccio?
su inserisci la quantità di numeri cosa metto?

Ma il programma non dovrebbe darmi da solo appena l'avvio tutti i numeri pari che partono dallo 0 in poi??
Non è quello che fa ciò che hai scritto, non ho capito se hai preso il codice in giro o lo hai scritto tu. Questo programma non fa quello che hai detto ma:
insersci il numero di numeri da inserire, inserisci il numero uno ad uno e poi, se inserisci la stampa, ti stampa quanti sono pari.
 
Questo programma non conta i numeri pari da 1 a 100, che comunque sono 50 (creazione inutile di un programma per fare questo calcolo).
Ma bensì quello che ti ha detto Alessio.

Non capisco a cosa serve la variabile Somma.
E quando Alessio dice di scrivere un po' meglio intende l'indentazione e degli spazi, che in questo caso, sono inesistenti e rendono sporca la lettura del codice.
 
  • Mi piace
Reazioni: AlessioDP
Quello che hai allegato è un codice che, per N volte, prende in input un numero, se è pari aumenta un contatore, mentre quella somma è sbagliata, perché se deve sommare i numeri pari fino ad ora inseriti dovrebbe essere somma+=num, facendo invece somma++ stai solamente aumentando di 1 la somma come se fosse un contatore. Tra l'altro, manca la dichiarazione di "Pari", il cout per stampare a fine while, e il programma non visualizza/somma i primi 100 numeri pari così come hai detto tu.
 
Quello che hai allegato è un codice che, per N volte, prende in input un numero, se è pari aumenta un contatore, mentre quella somma è sbagliata, perché se deve sommare i numeri pari fino ad ora inseriti dovrebbe essere somma+=num, facendo invece somma++ stai solamente aumentando di 1 la somma come se fosse un contatore. Tra l'altro, manca la dichiarazione di "Pari", il cout per stampare a fine while, e il programma non visualizza/somma i primi 100 numeri pari così come hai detto tu.
Ma comunque non servirebbe perchè c'è già la variabile Pari che fa il conteggio dei numeri pari.
E il pari l'ha dichiarato in seguito, dopo che glie l'ha fatto notare Alessio.
 
Ma comunque non servirebbe perchè c'è già la variabile Pari che fa il conteggio dei numeri pari.
E il pari l'ha dichiarato in seguito, dopo che glie l'ha fatto notare Alessio.
A me serve un programma che appena l'avvio mi dice i primi 100 numeri pari sono e mi fa l'elenco ....

Inviata da SM-J530F tramite app ufficiale di Inforge.net
 
Non è quello che fa ciò che hai scritto, non ho capito se hai preso il codice in giro o lo hai scritto tu. Questo programma non fa quello che hai detto ma:
insersci il numero di numeri da inserire, inserisci il numero uno ad uno e poi, se inserisci la stampa, ti stampa quanti sono pari.
Il codice l'ho scritto io

Inviata da SM-J530F tramite app ufficiale di Inforge.net
 
A me serve un programma che appena l'avvio mi dice i primi 100 numeri pari sono e mi fa l'elenco ....

Inviata da SM-J530F tramite app ufficiale di Inforge.net
Non posso darti il codice, se vuoi posso correggere i tuoi errori.
Al momento il codice che hai inviato tu non fa minimamente ciò che hai richiesto.

1) Non devi far inserire il numero di numeri (scusa il gioco di parole) da conteggiare;
2) Devi creare un if a cascata per fare il controllo di quando la variabile Pari arriva a 100 eventi;
3) Devi creare un altro ciclo per la stampa dei numeri, ma non so dove vorresti salvarli oppure se vuoi stamparli subito aver controllato se corrisponde o meno ad un numero pari.
 
  • Mi piace
Reazioni: AlessioDP
Non posso darti il codice, se vuoi posso correggere i tuoi errori.
Al momento il codice che hai inviato tu non fa minimamente ciò che hai richiesto.

1) Non devi far inserire il numero di numeri (scusa il gioco di parole) da conteggiare;
2) Devi creare un if a cascata per fare il controllo di quando la variabile Pari arriva a 100 eventi;
3) Devi creare un altro ciclo per la stampa dei numeri, ma non so dove vorresti salvarli oppure se vuoi stamparli subito aver controllato se corrisponde o meno ad un numero pari.
1)Allora num e N le posso togliere come variabili
2)cosa devo mettere nell'if ?
3)si , i numeri li deve stampare subito

Inviata da SM-J530F tramite app ufficiale di Inforge.net
 
1)Allora num e N le posso togliere come variabili
2)cosa devo mettere nell'if ?
3)si , i numeri li deve stampare subito

Inviata da SM-J530F tramite app ufficiale di Inforge.net
Cosa non cogli quando dico che non ti passo il codice ma devi farlo da te?

1)Sì
2)Leggi cosa ti ho scritto sopra
3)Ok, googla come si stampa una variabile in C++, se non sai come fare un Cout
 
Per la stampa dei primi 100 numeri pari sono due le strade:

1) Fai un for fino a 200 (se lo fai fino a 100 avrai solo 50 numeri pari), dentro il for basta un if, dentro l'if stampi il numero, fine.
2) Fai un while su un flag boolean e lo fai diventare true solo quando il contatore di numeri pari dentro il while non arriva a 100, fine.

Ovviamente nel punto 2 devi far stampare anche i numeri pari man mano che li conta.
 
Per la stampa dei primi 100 numeri pari sono due le strade:

1) Fai un for fino a 200 (se lo fai fino a 100 avrai solo 50 numeri pari), dentro il for basta un if, dentro l'if stampi il numero, fine.
2) Fai un while su un flag boolean e lo fai diventare true solo quando il contatore di numeri pari dentro il while non arriva a 100, fine.

Ovviamente nel punto 2 devi far stampare anche i numeri pari man mano che li conta.

Ciao a scuola non ho fatto ne for e ne flag boolean , ho fatto solo l'if e il while
 
Qual è lo scopo del getchar() ?

Cambia il ciclo con un DO - While fino a che Pari=100 e riadatta queste condizioni
Codice:
         if(Num%2==0)
            Pari=Pari+1;
            //stampa il numero
         Num +=1;
 
Qual è lo scopo del getchar() ?

Cambia il ciclo con un DO - While fino a che Pari=100 e riadatta queste condizioni
Codice:
         if(Num%2==0)
            Pari=Pari+1;
            //stampa il numero
         Num +=1;


Cosa sarebbe questo DO?
il getchar() lo uso alla fine di ogni eserizio

La condizione del while quale sarebbe??
La somma la devo eliminare come variabile?
 
Ultima modifica:
Dato che probabilmente sarà inutile continuare a dirti cosa correggere e non riuscirai mai a finalizzare il tuo codice, eccoti un bel codice che potresti riadattare cambiando variabili e magari studiandotelo un po'.

C++:
#include <iostream>
using namespace std;

int main()
{
         int dimensione_massima; //dimensione massima fino a cui contare
         int numero; //index che continua ad aumentare di 1
         int contatore_pari=0; //contatore dei numeri pari

         cout<<"Inserisci il numero fino a cui contare."<<endl;
         cin>>dimensione_massima;

         while (numero<dimensione_massima) //fino a quando il contatore non raggiunge il limite da te imposto, allora...
         {
                   if (numero%2==0)
                  {
                           contatore_pari++;
                  }
                  cout<<""<<numero>>" e' un numero pari."<<endl;
                  numero++;
         }
        

         return 0;
}
 
Dato che probabilmente sarà inutile continuare a dirti cosa correggere e non riuscirai mai a finalizzare il tuo codice, eccoti un bel codice che potresti riadattare cambiando variabili e magari studiandotelo un po'.

C++:
#include <iostream>
using namespace std;

int main()
{
         const int dimensione_massima=numero_deciso_da_te; //dimensione massima fino a cui contare
         int numero; //index che continua ad aumentare di 1
         int contatore_pari=0; //contatore dei numeri pari

         cout<<"Inserisci il numero fino a cui contare."<<endl;
         cin>>dimensione_massima;

         while (numero<dimensione_massima) //fino a quando il contatore non raggiunge il limite da te imposto, allora...
         {
                   if (numero%2==0)
                  {
                           contatore_pari++;
                  }
                  cout<<""<<numero>>" e' un numero pari."<<endl;
                  numero++;
         }
        

         return 0;
}

Cosa sarebbe const int??
 
Stato
Discussione chiusa ad ulteriori risposte.