PROBLEMA Programmi in c++

Pubblicità
Comunque ti ricordo che sono al 2 anno di itis informatico... Ho iniziato a studiare il c++ una settimana prima delle vacanze.. Adesso non voglio vantarmi,ma a livello di voti e quindi oggettivamente parlando sono il migliore della mia classe... O al massimo sono primo insieme ad un altro ragazzo.. Cioè per farti capire il professore ci ha spiegato solamente le basi delle basi.. Infatti i miei compagni di classe solo a guardare le traccie non hanno capito nulla, anche perché ho dovuto e devono studiare i cicli che il professore non ha spiegato..E sicuramente verranno da me a chiedermi le foto di come li ho fatti...

In ogni caso, chiusa questa parentesi che non volevo scrivere, potresti aiutarmi con questo esercizio?


Inviato dal mio iPhone utilizzando Tapatalk




Inviato dal mio iPhone utilizzando Tapatalk
 
Dato n, leggere n numeri interi e calcolare la somma dei numeri pari e la somma dei numeri dispari.

Codice:
#include<iostream>
using namespace std;
int main()
{
    int n,i,P,D,S,NUM;
    cout<<"Inserire un numero intero:"<<endl;
    cin>>n;
    for(i=1;i<=n;i++){
        cout<<i<<endl;
    }
    NUM=i/2;
    if (NUM=(float)NUM) i=D; else i=P;
    S=P+D;
    cout<<P<<"+"<<D<<"="<<S<<endl;
}

Ciò che hai scritto non rispetta la consegna: dato un numero N leggere N numeri e calcolare la somma dei pari e la somma dei dispari (posto come diceva rod che ci sono anche errori).
Inoltre spero che il docente vi abbia parlato delle convenzioni che si utilizzano solitamente con il maiuscolo ed il minuscolo nei riguardi delle variabili (maiuscolo = costante).
 
Ciò che hai scritto non rispetta la consegna: dato un numero N leggere N numeri e calcolare la somma dei pari e la somma dei dispari (posto come diceva rod che ci sono anche errori).
Inoltre spero che il docente vi abbia parlato delle convenzioni che si utilizzano solitamente con il maiuscolo ed il minuscolo nei riguardi delle variabili (maiuscolo = costante).


Scusa n dovrebbe essere una seguenza di numeri.. Io non ho capito cosa devo fare.. Cioè finché sono più numeri da dare in input per poi distinguerli tra pari e dispari e farne la somma è semplice... Cioè in che senso "Leggere N numeri interi "?


Inviato dal mio iPhone utilizzando Tapatalk
 
Scusa n dovrebbe essere una seguenza di numeri.. Io non ho capito cosa devo fare.. Cioè finché sono più numeri da dare in input per poi distinguerli tra pari e dispari e farne la somma è semplice... Cioè in che senso "Leggere N numeri"?


Inviato dal mio iPhone utilizzando Tapatalk
n non è una sequenza di numeri, è un numero. Se n è 5, devi inserire 5 numeri, se n è 124 devi inserire 124 numeri. Ovviamente nel programma questo n devi dirglielo tu
 
n non è una sequenza di numeri, è un numero. Se n è 5, devi inserire 5 numeri, se n è 124 devi inserire 124 numeri. Ovviamente nel programma questo n devi dirglielo tu

Quindi mettiamo caso che n=5,ci sono 5 numeri.. Devo darli io in input... Cioè io non so come scriverli in codice.. Devo usare il for?


Inviato dal mio iPhone utilizzando Tapatalk
 
Quindi mettiamo caso che n=5,ci sono 5 numeri.. Devo darli io in input... Cioè io non so come scriverli in codice.. Devo usare il for?


Inviato dal mio iPhone utilizzando Tapatalk
Esatto, significa che prima dici quanti numeri vuoi leggere (n), poi fai un ciclo per leggere n volte. Il ciclo farà un cin del numero, dovrai vedere se pari ( resto della divisione per 2 == 0 ) e sommarlo alla somma dei pari/dispari.
 
Esatto, significa che prima dici quanti numeri vuoi leggere (n), poi fai un ciclo per leggere n volte. Il ciclo farà un cin del numero, dovrai vedere se pari ( resto della divisione per 2 == 0 ) e sommarlo alla somma dei pari/dispari.

Ma quindi con questo ciclo farò ripetere sempre lo stesso numero? Oppure lo aumento per 1?
Quindi come nel caso precedente faccio questo?:
Codice:
for(i=1;i<=n;i++)
{
cout<<i<<endl;
}





Inviato dal mio iPhone utilizzando Tapatalk
 
Ma quindi con questo ciclo farò ripetere sempre lo stesso numero? Oppure lo aumento per 1?
Quindi come nel caso precedente faccio questo?:
Codice:
for(i=1;i<=n;i++)
{
cout<<i<<endl;
}

Inviato dal mio iPhone utilizzando Tapatalk
Questo codice stamperà 1,2,3,...,n. La riga del for andrebbe bene ( è buona prassi partire da 0 per contare, per questioni relative alla memoria ), Ma al posto del cout devi fare un cin, leggere il numero, decidere se pari/dispari, sommarlo alla relativa variabile di somma e solo alla fine (alias fuori dal ciclo) stampare le relative somme.
 
Questo codice stamperà 1,2,3,...,n. La riga del for andrebbe bene ( è buona prassi partire da 0 per contare, per questioni relative alla memoria ), Ma al posto del cout devi fare un cin, leggere il numero, decidere se pari/dispari, sommarlo alla relativa variabile di somma e solo alla fine (alias fuori dal ciclo) stampare le relative somme.

Se non ti dispiace,potresti scriverlo sotto forma di codice,in modo tale che lo capisco meglio?



Inviato dal mio iPhone utilizzando Tapatalk
 
Codice:
int n;
do {
  cout<<"Inserisci un numero maggiore di 0"<<endl;
  cin>>n;
} while( n <= 0 );

int sum_pari = 0;
int sum_dispari = 0;
int num;

for ( int i = 0; i < n; i++) {
  cin>>num;
  if ( num%2 == 0 ) 
     sum_pari += num;
  else
     sum_dispari += num;
}
 
Comunque ti ricordo che sono al 2 anno di itis informatico... Ho iniziato a studiare il c++ una settimana prima delle vacanze.. Adesso non voglio vantarmi,ma a livello di voti e quindi oggettivamente parlando sono il migliore della mia classe... O al massimo sono primo insieme ad un altro ragazzo.. Cioè per farti capire il professore ci ha spiegato solamente le basi delle basi.. Infatti i miei compagni di classe solo a guardare le traccie non hanno capito nulla.. E sicuramente verranno da me a chiedermi le foto di come li ho fatti...

In ogni caso, chiusa questa parentesi che non volevo scrivere, potresti aiutarmi con questo esercizio?


Inviato dal mio iPhone utilizzando Tapatalk

Lascia perdere i voti che non vogliono dire assolutamente nulla essendo relativi ed arbitrari, ovvero basta avere standard bassi e dare 10 a chi sa scrivere "int main(){ }" per avere una classe di geni, e paragonarsi agli altri alunni che hanno studiato in quello stesso ambiente con quegli standard bassi può dare soltanto un falso senso di competenza.
Io per esperienza personale avendo studiato il C++ da autodidatta partendo con una semplice playlist di circa 70 video su youtube (da 4-10 min l'uno) semplicemente guardando ed ascoltando, in una o 2 settimane di tempo ero molto piu avanti di così, il return 0 veniva praticamente spiegato nei primi 10 minuti con l' "Hello World"... percui magari suggerisco di studiare per conto tuo, se ti interessa la materia.

Come rodhellas ha mostrato ti serve '%' chiamato anche "modulus operator", percui ti consiglio di fare una ricerca su quello.

@rodhellas: è meglio se non gli davi la soluzione imo, ma solo un suggerimento di cosa studiare per arrivarci o una spiegazione del modulus operator, così che lui potesse trarre la conclusione di come usarlo per risolvere il problema, o fallire il test per mancanza di impegno :/
Anche fallire il test ha i suoi meriti imo, perchè il professore così si rende conto di star facendo un lavoro un pò scarso (sempre che questo sia davvero il caso) e quindi magari ri-spiega bene tutto all'intera classe.
 
Ultima modifica:
Lascia perdere i voti che non vogliono dire assolutamente nulla essendo relativi ed arbitrari, ovvero basta avere standard bassi e dare 10 a chi sa scrivere "int main(){ }" per avere una classe di geni, e paragonarsi agli altri alunni che hanno studiato in quello stesso ambiente con quegli standard bassi può dare soltanto un falso senso di competenza.
Io per esperienza personale avendo studiato il C++ da autodidatta partendo con una semplice playlist di circa 70 video su youtube (da 4-10 min l'uno) semplicemente guardando ed ascoltando, in una o 2 settimane di tempo ero molto piu avanti di così, il return 0 veniva praticamente spiegato nei primi 10 minuti con l' "Hello World"... percui magari suggerisco di studiare per conto tuo, se ti interessa la materia.

Come rodhellas ha mostrato ti serve '%' chiamato anche "modulus operator", percui ti consiglio di fare una ricerca su quello.

@rodhellas: è meglio se non gli davi la soluzione imo, ma solo un suggerimento di cosa studiare per arrivarci o una spiegazione del modulus operator, così che lui potesse trarre la conclusione di come usarlo per risolvere il problema, o fallire il test per mancanza di impegno :/
Anche fallire il test ha i suoi meriti imo, perchè il professore così si rende conto di star facendo un lavoro un pò scarso (sempre che questo sia davvero il caso) e quindi magari ri-spiega bene tutto all'intera classe.
Eh lo so, ma se non ha comunque capito come fare l'esercizio non gli serve a nulla il mio codice

Inviato da LG-M700 tramite App ufficiale di Tom\'s Hardware Italia Forum
 
Lascia perdere i voti che non vogliono dire assolutamente nulla essendo relativi ed arbitrari, ovvero basta avere standard bassi e dare 10 a chi sa scrivere "int main(){ }" per avere una classe di geni, e paragonarsi agli altri alunni che hanno studiato in quello stesso ambiente con quegli standard bassi può dare soltanto un falso senso di competenza.
Io per esperienza personale avendo studiato il C++ da autodidatta partendo con una semplice playlist di circa 70 video su youtube (da 4-10 min l'uno) semplicemente guardando ed ascoltando, in una o 2 settimane di tempo ero molto piu avanti di così, il return 0 veniva praticamente spiegato nei primi 10 minuti con l' "Hello World"... percui magari suggerisco di studiare per conto tuo, se ti interessa la materia.

Come rodhellas ha mostrato ti serve '%' chiamato anche "modulus operator", percui ti consiglio di fare una ricerca su quello.

@rodhellas: è meglio se non gli davi la soluzione imo, ma solo un suggerimento di cosa studiare per arrivarci o una spiegazione del modulus operator, così che lui potesse trarre la conclusione di come usarlo per risolvere il problema, o fallire il test per mancanza di impegno :/
Anche fallire il test ha i suoi meriti imo, perchè il professore così si rende conto di star facendo un lavoro un pò scarso (sempre che questo sia davvero il caso) e quindi magari ri-spiega bene tutto all'intera classe.

Accetto la tua idea,infatti quando mi inviate un codice io non lo scrivo subito, ma cerco prima di capirlo..
Adesso proverò anche io a guardami un paio di video...

Ah inoltre volevo rispondere alla frase "e quindi magari RI-SPIEGA bene tutto all'intera classe"... Lui oltre alle prime tre cose che si scrivono in un programma e al cin e al cout non ha spiegato nulla..


Inviato dal mio iPhone utilizzando Tapatalk
 
Temo che gli serva per mostrarlo al professore e beccarsi un altro 10 :asd:

Il problema dei giovani d'oggi è che non si appassionano a niente e non capiscono che i risultati veri si possono ottenere solo sudando.

Non credo che se una persona si metta a studiare il c++ per l'intero giorno sia di Natale che della vigilia lo faccia solo per il voto... Potevo anche semplicemente copiarli l'8 di Gennaio in classe..


Inviato dal mio iPhone utilizzando Tapatalk
 
Pubblicità
Pubblicità
Indietro
Top