Thread: [PROG][C++] vraagje:)
-
13-10-2007, 15:40 #1
[PROG][C++] vraagje:)
Ik moet hier een oefening maken:
"Schrijf een programma dat een reeks positieve getallen inleest. Stop bij het eerste negatieve getal. Druk nu het gemiddelde af.(het negatieve getal wordt niet meer meegenomen in de berekening van het gemiddelde)
Dit is wat ik al heb, maar blijkbaar klopt er toch iets niet
#include <iostream>
using namespace std;
int main()
{
int getal,tel=0,som=0;
float gemiddelde;
cout<<"Geef een reeks getallen in - Sluit af met een negatief getal: \n";
do
{
cout <<"Geef getal: ";
cin>>getal;
tel++;
som+=getal;
}
while (getal>=0);
gemiddelde=som/tel;
cout<<"Gemiddelde= " <<gemiddelde;
return 0;
}
Als ik bijvoorbeeld 5,5 en -1 invoer in het programma, geeft ie als gemiddelde 3
. Ziet iemand de fout? of weet iemand hoe het moet? pls help me
Ik veronderstel dat de fout bij de tel ligt?
Last edited by Spokos; 13-10-2007 at 15:48.
no votes
-
-
13-10-2007, 15:48 #2
als ik de tel verander naar -1 dan klopt het min of meer
, maar toch niet echt exact hoor
blijkbaar toch maar vreemd precies
logischere oplossingen mogen altyd vermeld worden
weet er iemand hoe ik van het gemiddelde een kommagetal kan maken?no votes
-
13-10-2007, 16:33 #3Crew Member
- Registered
- 01/09/02
- Location
- Peutie
- Posts
- 7,664
- iTrader
- 0
- Mentioned
- 4 Post(s)
- Reputation
- 13/105
De fout ligt bij uw while loop. Hij gaat eerst die do {} uitvoeren en dus uw -1 inlezen, aftrekken van uw som en dan kom je dus op 9 uit. 9/3 = 3.
Wat je zou kunnen doen is bijvoorbeeld:Code:cout << "Geef getal: "; cin >> getal; while (getal >= 0) { tel++; som += getal; cout << "Geef getal: "; cin >> getal; } // Rest van get programma.no votes
-
13-10-2007, 18:33 #4
en hoe weet je dat ie -1 aftrekt van de som??
no votes
-
13-10-2007, 18:34 #5
aaaaah ik snap het denkik! bedankt!
Last edited by Spokos; 13-10-2007 at 18:42.
no votes
-
13-10-2007, 18:51 #6
kheb nu dit
: 1 while lus gebruikt:
#include <iostream>
using namespace std;
int main()
{ int getal,tel=0,som=0;
float gemiddelde;
cout<<"Geef een reeks getallen in - Sluit af met een negatief getal: \n"
<<"Geef getal: ";
cin>>getal;
while (getal>=0)
{
cout<<"Geef getal: ";
cin>>getal;
tel++;
som+=getal;
}
gemiddelde=som/tel;
cout<<"Gemiddelde= " <<gemiddelde;
return 0;
}
maar hij trekt het negatief getal dat ik invoer nog altyd van de som afLast edited by Spokos; 13-10-2007 at 19:00.
no votes
-
13-10-2007, 19:02 #7
en nu hebbik het gedaan zoals je hebt gezegd die tel ++ en die som+=getal voor die cout en die cin gezet en dan werkt het idd

merci!
nu snappik het echt
no votes
