Aktuelle Zeit: Sonntag 17. November 2024, 20:45

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




 Seite 1 von 1 [ 13 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: C++ lernen: Stehe vor folgender Aufgabe
BeitragVerfasst: Samstag 25. Februar 2006, 18:29 
Gefällt's hier richtig gut
Benutzeravatar

Registriert: Sonntag 25. September 2005, 12:13
Beiträge: 112
In dem Buch C++ Primer wurde mir folgende Aufgabe gestellt:

"Schreiben Sie ein Programm, das den Benutzer auffordert, eine Folge von Zahlen einzugeben. Geben Sie eine Meldung aus, die besagt, wie viele von den Zahlen negativ sind."

Dies alles soll mit Hilfe einer if-Anweisung gemacht werden. Hab ewig überlegt und hatte auch einige Lösungsansätze, die aber leider nicht funktionierten, wie z.B.:

#include <iostream>
#include <conio.h>

int main()
{
int v1,v2;
std::cout<<"Enter two numbers: "<<std::endl;
std::cin>>v1>>v2;
int n1=1,n2=2,n3=1;
if (v1<0){
n1=v1;
}else{
v1=v1;
}
if (v2<0){
n3=v2;
}else{
v2=v2;
}
if (v1,v2<0) {
n2=v1,v2;
}else{
v1,v2=v1,v2;
}
std::cout<<"the number of numbers that are negative: "<<( n1 || n2 || n3 )<<std::endl;
getch();
return 0;
}

Das Programm gibt aber immer nur "1" aus.

Danke schon mal im Voraus!

bbc



_________________
asus crw 1610a, toshiba sd-m1712;XpertVision 7600GT; 1,5 Gb RAM; Celeron D 3,0 Ghz;...

Dort wo man Bücher verbrennt, verbrennt man am Ende auch Menschen.
Heinrich Heine
Offline
 Profil  
 
 Betreff des Beitrags: AW: C++ lernen: Stehe vor folgender Aufgabe
BeitragVerfasst: Samstag 25. Februar 2006, 20:11 
Brennmeister ehrenhalber
Benutzeravatar

Registriert: Sonntag 18. September 2005, 16:39
Beiträge: 1306
Wohnort: /home/markus
Kenn die Syntax von c++ leider noch nicht.

Aber das Ganze müsste in Pseudocode etwa so aussehn

Eingabe Zahl1;
if (Zahl1 < 0) negatives++;
Eingabe Zahl2;
if (Zahl2 < 0) negatives++;
.....
.....
Ausgabe negatives;


negatives ist einfach eine Zahlvariable die um 1 hochgezählt wird wenn eine Zahl negativ ist.

eigentlich ganz einfach oder?

LG evert



_________________
Chuck Norris bekommt bei Praktiker 20% Rabatt. Auch auf Tiernahrung!

Ich hab so hunger, dass ich vor lauter Durst gar nicht weiß was ich rauchen soll, so müde bin ich
join #brennmeister @ Qnet
Offline
 Profil  
 
 Betreff des Beitrags: AW: C++ lernen: Stehe vor folgender Aufgabe
BeitragVerfasst: Sonntag 26. Februar 2006, 02:28 
Brennmeister ehrenhalber
Benutzeravatar

Registriert: Dienstag 20. September 2005, 19:54
Beiträge: 1003
Evers Lösungsansatz ist richtig und obendrein sauberer gelöst,da er nur mit einer (Ausgabe)Variable rumhantiert.Du weist "negatives" den Wert 0 zu und fragst die beiden eingegebenen Werte in den If Anweisungen ab ob sie kleiner 0 sind.Falls ja dann erhöhst du "negatives" um eins.Am Ende gibst du dann negatives aus.Wie Ever schon richtig bemerkt hat "eigentlich ganz einfach, oder?" ;)


Offline
 Profil  
 
 Betreff des Beitrags: AW: C++ lernen: Stehe vor folgender Aufgabe
BeitragVerfasst: Sonntag 26. Februar 2006, 13:54 
Gefällt's hier richtig gut
Benutzeravatar

Registriert: Sonntag 25. September 2005, 12:13
Beiträge: 112
Zitat:
Evers Lösungsansatz ist richtig und obendrein sauberer gelöst


find ich auch, klappt auch wunderbar! Aber man muss erst einmal darauf kommen.

Das Buch C++ Primer ist der Hammer, nur das es zu den Aufgaben keine Lösungsansätze gibt. Hierbei eine weitere Frage:

"Schreiben sie ein Programm, das den Benutzer auffordert, zwei zahlen einzugeben, und das jede Zahl in dem von diesen zahlen begrenzten Bereich über die Standardausgabe ausgibt."

Das Kapitel hierbei hieß die "unbekannte Anzahl von Eingaben lesen" mit "value". Gesagt getam, nur das Programm hört nicht mehr auf irgendwelche Zahlen auszugeben.

Wie macht man das hier am besten?

bbc



_________________
asus crw 1610a, toshiba sd-m1712;XpertVision 7600GT; 1,5 Gb RAM; Celeron D 3,0 Ghz;...

Dort wo man Bücher verbrennt, verbrennt man am Ende auch Menschen.
Heinrich Heine
Offline
 Profil  
 
 Betreff des Beitrags: AW: C++ lernen: Stehe vor folgender Aufgabe
BeitragVerfasst: Sonntag 26. Februar 2006, 15:08 
Brennmeister ehrenhalber
Benutzeravatar

Registriert: Sonntag 18. September 2005, 16:39
Beiträge: 1306
Wohnort: /home/markus
Ich machs mal wieder in Pseudocode

Eingabe untereSchranke;
Eingabe obereSchranke;

for (int i = unterSchranke;i<=oberschranke;i++)
Ausgabe i;





LG evert



_________________
Chuck Norris bekommt bei Praktiker 20% Rabatt. Auch auf Tiernahrung!

Ich hab so hunger, dass ich vor lauter Durst gar nicht weiß was ich rauchen soll, so müde bin ich
join #brennmeister @ Qnet
Offline
 Profil  
 
 Betreff des Beitrags: AW: C++ lernen: Stehe vor folgender Aufgabe
BeitragVerfasst: Sonntag 26. Februar 2006, 15:12 
Gefällt's hier richtig gut

Registriert: Dienstag 6. Dezember 2005, 17:32
Beiträge: 171
Da fällt mir gerade auf, bei der Fragestellung müsste man doch erstmal abtesten, ob der erste Wert größer oder kleiner ist und danach entscheiden, ob die Zählervariable inkrementiert oder dekrementiert werden muss, ocer?!


Offline
 Profil  
 
 Betreff des Beitrags: AW: C++ lernen: Stehe vor folgender Aufgabe
BeitragVerfasst: Sonntag 26. Februar 2006, 15:33 
Gefällt's hier richtig gut
Benutzeravatar

Registriert: Sonntag 25. September 2005, 12:13
Beiträge: 112
angefangen hab ich auch so:

#include <iostream>
#include <conio.h>

int main()
{
int v1,v2;
std::cout<<"Enter two numbers: "<<std::endl;
std::cin>>v1>>v2;
int upper, lower;
if (v1<=v2){
lower=v1;
upper=v2;
}else{
lower=v2;
upper=v1;
}
...

bloss dann wusste ich nicht mehr richtig weiter

bbc



_________________
asus crw 1610a, toshiba sd-m1712;XpertVision 7600GT; 1,5 Gb RAM; Celeron D 3,0 Ghz;...

Dort wo man Bücher verbrennt, verbrennt man am Ende auch Menschen.
Heinrich Heine
Offline
 Profil  
 
 Betreff des Beitrags: Re: AW: C++ lernen: Stehe vor folgender Aufgabe
BeitragVerfasst: Sonntag 26. Februar 2006, 16:25 
Brennmeister ehrenhalber
Benutzeravatar

Registriert: Sonntag 18. September 2005, 16:39
Beiträge: 1306
Wohnort: /home/markus
tobiashi hat geschrieben:
Da fällt mir gerade auf, bei der Fragestellung müsste man doch erstmal abtesten, ob der erste Wert größer oder kleiner ist und danach entscheiden, ob die Zählervariable inkrementiert oder dekrementiert werden muss, ocer?!


Ist mir auch auchgefallen. Musst halt abfragen welche größer ist und gegebenfalls vertauschen.


LG evert



_________________
Chuck Norris bekommt bei Praktiker 20% Rabatt. Auch auf Tiernahrung!

Ich hab so hunger, dass ich vor lauter Durst gar nicht weiß was ich rauchen soll, so müde bin ich
join #brennmeister @ Qnet
Offline
 Profil  
 
 Betreff des Beitrags: AW: C++ lernen: Stehe vor folgender Aufgabe
BeitragVerfasst: Sonntag 26. Februar 2006, 19:56 
Gefällt's hier richtig gut
Benutzeravatar

Registriert: Sonntag 25. September 2005, 12:13
Beiträge: 112
Wie begrenzt man die Ausgabe auf zehn dazwischenliegende zahlen,fals
upper-lower>zehn?

gruß

bbc



_________________
asus crw 1610a, toshiba sd-m1712;XpertVision 7600GT; 1,5 Gb RAM; Celeron D 3,0 Ghz;...

Dort wo man Bücher verbrennt, verbrennt man am Ende auch Menschen.
Heinrich Heine
Offline
 Profil  
 
 Betreff des Beitrags: Re: AW: C++ lernen: Stehe vor folgender Aufgabe
BeitragVerfasst: Sonntag 26. Februar 2006, 20:27 
Gefällt's hier richtig gut

Registriert: Dienstag 6. Dezember 2005, 17:32
Beiträge: 171
ever hat geschrieben:
Ich machs mal wieder in Pseudocode

Eingabe untereSchranke;
Eingabe obereSchranke;

for (int i = unterSchranke;i<=oberschranke;i++)
Ausgabe i;

LG evert


So.


Offline
 Profil  
 
 Betreff des Beitrags: AW: C++ lernen: Stehe vor folgender Aufgabe
BeitragVerfasst: Sonntag 26. Februar 2006, 20:27 
Brennmeister ehrenhalber
Benutzeravatar

Registriert: Sonntag 18. September 2005, 16:39
Beiträge: 1306
Wohnort: /home/markus
Du könntest eine Abfrage machen ob upper-lower größer 10 ist und gegebenenfalls dann von der kleineren 10 Zahlen hochzählen oder so.


Weis aber auch nicht ganz was du gerade genau willst.

LG evert



_________________
Chuck Norris bekommt bei Praktiker 20% Rabatt. Auch auf Tiernahrung!

Ich hab so hunger, dass ich vor lauter Durst gar nicht weiß was ich rauchen soll, so müde bin ich
join #brennmeister @ Qnet
Offline
 Profil  
 
 Betreff des Beitrags: Re: AW: C++ lernen: Stehe vor folgender Aufgabe
BeitragVerfasst: Sonntag 26. Februar 2006, 20:29 
Brennmeister ehrenhalber
Benutzeravatar

Registriert: Sonntag 18. September 2005, 16:39
Beiträge: 1306
Wohnort: /home/markus
tobiashi hat geschrieben:
ever hat geschrieben:
Ich machs mal wieder in Pseudocode

Eingabe untereSchranke;
Eingabe obereSchranke;

for (int i = unterSchranke;i<=oberschranke;i++)
Ausgabe i;

LG evert


So.


Ja aber wenn 1 zahl 10 ist und 2 Zahl 30 gibt das Programm 30 Zahlen aus und das will er ja verhindern soweit ich das verstanden habe. Was das für nen sinn hat weis ich auch nicht.


LG evert



_________________
Chuck Norris bekommt bei Praktiker 20% Rabatt. Auch auf Tiernahrung!

Ich hab so hunger, dass ich vor lauter Durst gar nicht weiß was ich rauchen soll, so müde bin ich
join #brennmeister @ Qnet
Offline
 Profil  
 
 Betreff des Beitrags: AW: C++ lernen: Stehe vor folgender Aufgabe
BeitragVerfasst: Sonntag 26. Februar 2006, 20:34 
Gefällt's hier richtig gut

Registriert: Dienstag 6. Dezember 2005, 17:32
Beiträge: 171
Jetzt peil ich erst, was er will.
Einfach einen zweiten Zähler einbauen und wenn der 10 ist abbrechen lassen.


Offline
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
 Seite 1 von 1 [ 13 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  

cron