Ultima modifica:
Allora, non saprei da dove iniziare, andiamo per punti, iniziando da cio' che non risolvera' il tuo problema:
1) Ti consiglio di nominare le variabili con nomi piu' brevi e formattati meglio, (es numeriPositivi oppure numeri_positivi al posto di Numeripostivi) al fine di rendere il codice piu' leggibile e piu' semplice la manutenzione dello stesso. Poi volendo essere schizzinosi ogni linguaggio ha delle convenzioni, come ad esempio quella di scrivere le costanti in CAPS. Io ad esempio avrei utilizzato nPos ed nNeg nel tuo caso.
2) Espressioni come
3) Sebbene la formattazione del testo sia una cosa molto personale, ti consiglio di indentare il testo all'interno delle graffe e non indentare le graffe e portare allo stesso livello il blocco di codice che contengono. (Mi riferisco al while)
Ora, passando alla traccia, non e' molto chiaro cosa tu voglia fare. Hai bisogno di:
1) Effettuare la somma algebrica di tutto quello che inserisci.
2) Effettuare la somma algebrica dei numeri positivi che inserisci.
3) Indicare il numero di numeri positivi inseriti.
Quale delle 3?
In qualsiasi caso credo che tu nella condizione if volessi inserire:
Cosi' a prima occhiata credo che tu volessi realizzare un programma che, dato un numero
Per lo meno a mio parere questa e' la risoluzione piu' completa. Ho cercato di attenermi il piu' possibile alla tua impostazione.
1) Ti consiglio di nominare le variabili con nomi piu' brevi e formattati meglio, (es numeriPositivi oppure numeri_positivi al posto di Numeripostivi) al fine di rendere il codice piu' leggibile e piu' semplice la manutenzione dello stesso. Poi volendo essere schizzinosi ogni linguaggio ha delle convenzioni, come ad esempio quella di scrivere le costanti in CAPS. Io ad esempio avrei utilizzato nPos ed nNeg nel tuo caso.
2) Espressioni come
Conta = Conta + 1;
possono essere semplificati con nomeVariabile++;
per incrementare o nomeVariabile--;
. Per capire meglio dai un'occhiata a questo documento . Quindi nel tuo caso Conta ++ ;3) Sebbene la formattazione del testo sia una cosa molto personale, ti consiglio di indentare il testo all'interno delle graffe e non indentare le graffe e portare allo stesso livello il blocco di codice che contengono. (Mi riferisco al while)
Messaggio unito automaticamente:
Ora, passando alla traccia, non e' molto chiaro cosa tu voglia fare. Hai bisogno di:
1) Effettuare la somma algebrica di tutto quello che inserisci.
2) Effettuare la somma algebrica dei numeri positivi che inserisci.
3) Indicare il numero di numeri positivi inseriti.
Quale delle 3?
In qualsiasi caso credo che tu nella condizione if volessi inserire:
if (Num >= 0)
. E alla fine del ciclo Somma = Somma + Num;
al posto di Somma=Numeripositivi+1;
. Nonche' inizializzare Somma con il valore 0;
Messaggio unito automaticamente:
Cosi' a prima occhiata credo che tu volessi realizzare un programma che, dato un numero
N
di valori, effettua la somma algebrica di questi ultimi. Tenendo allo stesso tempo conto del numero di numeri positivi e negativi inseriti, senza pero' visualizzarli (Magari per espansioni future del codice). A questo punto ti stilo un codice che credo possa essere la soluzione della tua traccia:
C++:
#include <iostream>
using namespace std;
int main(){
int numeriPositivi = 0, numeriNegativi = 0, N, num, sommaPositivi = 0;
cout << "N inputs: " << endl;
cin >> N;
int i = 1;
while(i <= N){
cout << "Inserire n." << i << ":" << endl;
cin >> num;
if(num >= 0){
numeriPositivi++;
sommaPositivi += num;
}
else
numeriNegativi++;
i++;
}
cout << "Il valore della somma dei numeri positivi e': " << sommaPositivi << "\nI numeri positivi sono " << numeriPositivi << " ed i negativi " << numeriNegativi << endl;
}
Per lo meno a mio parere questa e' la risoluzione piu' completa. Ho cercato di attenermi il piu' possibile alla tua impostazione.