Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Informatik in der Schule (http://www.informatikerboard.de/board/board.php?boardid=21)
--- C++ (http://www.informatikerboard.de/board/thread.php?threadid=1388)


Geschrieben von info am 28.03.2013 um 21:30:

 

Ich versuche es lieber doch selbst zu entwicckeln .

Könnte man so vorgehen ?

#include <iostream>
using namespace std;
include<cmath>


int main() {
int a = x;
int b = y;
int c = z;

cout << "Bitte Zahlen eingeben !" << endl;

cin >> x;

cout << "2 Zahl" << endl;


cin >> y;

cout << "3 Zahl" << endl;
cin >> z;


}

KArlito was bewirkt den in deinem code das hier:

int r = 0;


Wofür definiert man das r ?

Das verstehe ich überhaupt nicht.

Kannst du mir das erklären ?

Soll ich jetzt in meinem code auch z.B int i = 0;

definieren?



Geschrieben von info am 28.03.2013 um 23:11:

 

Ich hab bisschen weiter gearbeitet und das stehen:

#include <iostream>
using namespace std;



int main() {
int a = x;
int b = y;
int c = z;



cout << "Bitte Zahlen eingeben !" << endl;

cin >> x;

cout << "2 Zahl" << endl;


cin >> y;

cout << "3 Zahl" << endl;
cin >> z;

for(int i = 0; j < n-1; j++)
{
for(int i = 0; i < n-1; i++)
{

if(j < j+1){

j = j+1;

j+1= x;

j=y;

}
}













Kann man das so machen?



Geschrieben von eulerscheZahl am 29.03.2013 um 09:29:

 

code:
1:
2:
3:
4:
5:
6:
	1	IntelliSense: Der Bezeichner ""x"" ist nicht definiert.	f:\programmieren\visualstudio2010\projects\cpp-programm\cpp-programm\code.cpp	7	9	cpp-Programm
	2	IntelliSense: Der Bezeichner ""y"" ist nicht definiert.	f:\programmieren\visualstudio2010\projects\cpp-programm\cpp-programm\code.cpp	8	9	cpp-Programm
	3	IntelliSense: Der Bezeichner ""z"" ist nicht definiert.	f:\programmieren\visualstudio2010\projects\cpp-programm\cpp-programm\code.cpp	9	9	cpp-Programm
	4	IntelliSense: Der Bezeichner ""j"" ist nicht definiert.	f:\programmieren\visualstudio2010\projects\cpp-programm\cpp-programm\code.cpp	25	16	cpp-Programm
	5	IntelliSense: Der Bezeichner ""n"" ist nicht definiert.	f:\programmieren\visualstudio2010\projects\cpp-programm\cpp-programm\code.cpp	25	20	cpp-Programm
	6	IntelliSense: Es wurde eine "}" erwartet.		f:\programmieren\visualstudio2010\projects\cpp-programm\cpp-programm\code.cpp	61	3	cpp-Programm


Zitat:
KArlito was bewirkt den in deinem code das hier:
int r = 0;
Wofür definiert man das r ?

Das musst du im Zusammenhang sehen, r wird danach wieder befüllt, wenn auch nur die letzten 3 Bits.
Das drittletzte Bit gibt an, ob a<b, das vorletzte, ob a<c und das letzte ob b<c.
Ich habe auch einen Moment gebraucht, um das gesamte Programm zu verstehen.



Geschrieben von info am 29.03.2013 um 15:17:

 

Hast du tipps wie ich das irgendwie jetzt in meinem programm einbauen kann , das ist so schwer drauf zu kommen .



Geschrieben von eulerscheZahl am 29.03.2013 um 16:39:

 

Mache es doch, wie in der Aufgabenstellung beschrieben: erst einmal a, b und c einlesen.
Melde dich wieder, wenn du das Einlesen hast, dann schauen wir weiter. Die Variablen x, y und z will ich bis dahin nicht sehen, sonst gibt es am Ende wieder Fehlermeldungen.



Geschrieben von info am 29.03.2013 um 17:53:

 

Wieso ist das einlesen bei mir falsch.

Das verstehe ich nicht .

Was mache ich daran falsch?



Geschrieben von eulerscheZahl am 29.03.2013 um 18:08:

 

Was in meinem vorletzten Beitrag stand, waren die Fehlermeldungen des Compilers zu deinem Code:
code:
1:
2:
3:
int a = x;
int b = y;
int c = z;

Was sind x, y und z? Die hast du nirgendwo definiert, willst sie aber verwenden, das geht nicht.

code:
1:
2:
3:
4:
5:
6:
cout << "Bitte Zahlen eingeben !" << endl;
cin >> x;
cout << "2 Zahl" << endl;
cin >> y;
cout << "3 Zahl" << endl;
cin >> z;

Du sollst in a, b und c einlesen, nicht in x, y und z (siehe Aufgabenstellung)

Das sortieren mit verschachtelten Schleifen kannst du bei einem Array machen, die Schleifenvariablen sind dann die Indizes der zu vergleichenden Elemente. Mit verschiedenen Variablen geht das nicht, da der Zugriff da nicht so einfach ist.

Am einfachsten sind if-Abfragen wie:
if(a<=b && b<=c) {x=a; y=b; z=c;}

Aber solange das Einlesen nicht klappt, brauchen wir uns damit noch nicht zu befassen.



Geschrieben von info am 31.03.2013 um 15:25:

 

Puuh soweit hätte ich es endlich:

#include <iostream>
using namespace std;

int main() {


int a;

int b;

int c;

cout << "Bitte Zahlen eingeben !" << endl;
cin >> a;
cout << "2 Zahl" << endl;
cin >> b;
cout << "3 Zahl" << endl;
cin >> c;
}


Für die weitere vorgehensweise benötige ich paar tips , aber keine Lösung bitte.



Geschrieben von Karlito am 31.03.2013 um 15:54:

 

Hallo,

dann mach dir erstmal klar, welche Fälle Du behandeln musst. Ich persönlich habe mir dafür eine Tabelle gemacht (keine Angst, das Programm, was ich geschickt hatte, solltest Du nicht verstehen).

Fülle am Besten mal folgende Tabelle aus. In die Spalten x y und z kommen die Buchstaben a b und c, je nach dem, wie Du umspeichern musst. Die erste Zeile habe ich mal vorgegeben.
[latex]<br />
\begin{array}{c|c|c||c|c|c}a<b & a<c & b<c  & x & y & z<br />
\hline 0 & 0 & 0 & c & b & a<br />
0 & 0 & 1 &&&<br />
0 & 1 & 0 &&&<br />
0 & 1 & 1 &&&<br />
1 & 0 & 0 &&&<br />
1 & 0 & 1 &&&<br />
1 & 1 & 0 &&&<br />
1 & 1 & 1 &&&<br />
\end{array}<br />
[/latex]

VG,

Karlito



Geschrieben von info am 31.03.2013 um 16:21:

 

Was muss ich denn beachten wenn ich die tabelle ausfülle .

Das ist mir nicht so klar?



Geschrieben von Karlito am 31.03.2013 um 16:29:

 

Hi,

links von dem Doppelstrich stehen die Bedingungen, die erfüllt sein müssen. Also z.B. a<b und rechts vom Doppelstrich stehen die Belegungen von x. y und z. Wenn also a<b und a<c und b<c falsch, also 0 sind, dann ist a größer oder gleich b, größer oder gleich c und b ist größer oder gleich c. Somit ist a die größte Zahl und c die kleinste. Dewegen kommt die Belegung x=c, y=b und z=a zustande. Das ist der Sinn der Tabelle. Klar?

VG,

Karlito



Geschrieben von info am 05.04.2013 um 17:09:

 

Oh man leute ich probiere schon die ganze Zaber ich verstehe nicht wie ich die Schleife erstellen soll?



Geschrieben von eulerscheZahl am 05.04.2013 um 17:15:

 

Gar nicht:
Es gibt 3!=6 Fälle zu betrachten:
a<=b<=c
a<=c<=b
b<=a<=c
b<=c<=a
c<=a<=b
c<=b<=b
Das kannst du mit if überprüfen.
Dann entspechend x, y und z zuweisen.
Der Aufbau ist dabei immer gleich, du könntest dir sogar ein Funktionsmakro schreiben.

(Durch <= werden mache Fälle (z.B. a=b) mehrfach abgedeckt, macht aber nichts, da es bei zwei gleich großen Zahlen ja egal ist, in welcher Reihenfolge sie sortiert werden)


Forensoftware: Burning Board, entwickelt von WoltLab GmbH