PROBLEMA Programmi in c++

francescocerrato200

Nuovo Utente
98
9
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
 

DispatchCode

Utente Attivo
692
425
CPU
Intel i7 6700HQ, 2.60Ghz, 4 core 8 threads
Scheda Madre
Asustek
Hard Disk
Hitachi 7200 rpm, 1TB
RAM
16GB DDR4 (2 slot su 4)
Scheda Video
Nvidia Geforce GTX 960M, 4GB
Scheda Audio
Realtek
Internet
30Mbps/3Mbps con Eolo
Sistema Operativo
Windows 10 64bit
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).
 

francescocerrato200

Nuovo Utente
98
9
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
 

rodhellas

Utente Èlite
1,506
422
CPU
Ryzen 5 3600
Dissipatore
GELID Phantom
Scheda Madre
MSI B450 Gaming Plus Max
Hard Disk
500GB m.2 + 2TB HDD
RAM
16GB Corsair LPX 3000mhz
Scheda Video
Gigabyte GTX 960 OC
Scheda Audio
Integrata
Monitor
SyncMaster 223BW
Alimentatore
Antec HCG-520M
Case
Meshify C
Internet
Gigabit Fastweb
Sistema Operativo
Windows 10 64bit
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
 

francescocerrato200

Nuovo Utente
98
9
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
 

rodhellas

Utente Èlite
1,506
422
CPU
Ryzen 5 3600
Dissipatore
GELID Phantom
Scheda Madre
MSI B450 Gaming Plus Max
Hard Disk
500GB m.2 + 2TB HDD
RAM
16GB Corsair LPX 3000mhz
Scheda Video
Gigabyte GTX 960 OC
Scheda Audio
Integrata
Monitor
SyncMaster 223BW
Alimentatore
Antec HCG-520M
Case
Meshify C
Internet
Gigabit Fastweb
Sistema Operativo
Windows 10 64bit
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.
 

francescocerrato200

Nuovo Utente
98
9
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
 

rodhellas

Utente Èlite
1,506
422
CPU
Ryzen 5 3600
Dissipatore
GELID Phantom
Scheda Madre
MSI B450 Gaming Plus Max
Hard Disk
500GB m.2 + 2TB HDD
RAM
16GB Corsair LPX 3000mhz
Scheda Video
Gigabyte GTX 960 OC
Scheda Audio
Integrata
Monitor
SyncMaster 223BW
Alimentatore
Antec HCG-520M
Case
Meshify C
Internet
Gigabit Fastweb
Sistema Operativo
Windows 10 64bit
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.
 

francescocerrato200

Nuovo Utente
98
9
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
 

rodhellas

Utente Èlite
1,506
422
CPU
Ryzen 5 3600
Dissipatore
GELID Phantom
Scheda Madre
MSI B450 Gaming Plus Max
Hard Disk
500GB m.2 + 2TB HDD
RAM
16GB Corsair LPX 3000mhz
Scheda Video
Gigabyte GTX 960 OC
Scheda Audio
Integrata
Monitor
SyncMaster 223BW
Alimentatore
Antec HCG-520M
Case
Meshify C
Internet
Gigabit Fastweb
Sistema Operativo
Windows 10 64bit
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;
}
 

Marcus Aseth

Utente Attivo
404
136
Sistema Operativo
Windows 10
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:

rodhellas

Utente Èlite
1,506
422
CPU
Ryzen 5 3600
Dissipatore
GELID Phantom
Scheda Madre
MSI B450 Gaming Plus Max
Hard Disk
500GB m.2 + 2TB HDD
RAM
16GB Corsair LPX 3000mhz
Scheda Video
Gigabyte GTX 960 OC
Scheda Audio
Integrata
Monitor
SyncMaster 223BW
Alimentatore
Antec HCG-520M
Case
Meshify C
Internet
Gigabit Fastweb
Sistema Operativo
Windows 10 64bit
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
 

pabloski

Utente Èlite
2,307
582
  • Mi piace
Reactions: rodhellas

francescocerrato200

Nuovo Utente
98
9
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
 

francescocerrato200

Nuovo Utente
98
9
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
 

Entra

oppure Accedi utilizzando

Hot del momento