Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Rumpf Implementierungen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (3): « vorherige 1 [2] 3 nächste » Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Rumpf Implementierungen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
progger
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Was machst du da genau mit dem min und max in der Aufgabe?

verwirrt
25.03.2016 15:09
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

min berechnet das Minimum, max das Maximum.
Mit min(bottomLeft.x, topRight.x); finde ich ich x-Wert, der weiter links liegt.

__________________
Syntax Highlighting fürs Board (Link)
25.03.2016 15:25 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
progger
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

void setCorners (CPoint bottomLeft, CPoint topRight);

/**
* Liefert die linke untere Ecke des Rechtecks zurück.

Ich verstehe nicht welche Zusicherung die meinen ?

Vielleicht die die wir gerade implementiert haben ?

void setCorners (CPoint bottomLeft, CPoint topRight){

if(m_bottomLeft.x = min(bottomLeft.x, topRight.x)){

m_bottomLeft = bottomLeft;

}





Und für topRight diese Zusicherung beachten ?
m_topRight.x = max(bottomLeft.x, topRight.x); ?

Diese Aufgabe ist irgendwie schwer zu verstehen?

}
28.03.2016 10:17
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
	/**
	 * Weist den Eigenschaften "linke untere Ecke" und "rechte obere
	 * Ecke" neue Werte zu.
	 *
	 * Vor der Zuweisung wird die Zusicherung überprüft, dass die
	 * rechte obere Ecke rechts von und oberhalt der linken
	 * unteren Ecke liegen muss! Ist das nicht der Fall wird keines
	 * der Attribute verändert.
	 */

Wie prüfst du, ob die eine Ecke links oberhalb der anderen ist? Was muss für den x Wert gelten und was für y?
Du brachst hier kein min oder max, einfach nur > und <.

Zitat:
if(m_bottomLeft.x = min(bottomLeft.x, topRight.x)){

Eine Zuweisung in einer if Abfrage ist wirklich keine gute Idee.

__________________
Syntax Highlighting fürs Board (Link)
28.03.2016 10:30 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
progger
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Das sind doch diese bedingungen oder ?

In dem vorigen code :

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
CRectangle::CRectangle(CPoint bottomLeft, CPoint topRight, char fillChar)
{
       m_topRight= topRight;
	if(topRight.x < bottomLeft.x) {
		m_bottomLeft.x = bottomLeft.x;
	}
if(topRight.x > bottomLeft.x) {
		m_bottomLeft.y = bottomLeft.y;
	}
	if(topRight.y < bottomLeft.y) {
		m_bottomLeft.y = bottomLeft.y;
	}
if(topRight.y > bottomLeft.y) {
		m_bottomLeft.x = bottomLeft.y;
	}

}



Soll ich diese bedingungen einbauen?
28.03.2016 11:03
progger
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Stimmt meine Idee so eulersche Zahl?
30.03.2016 11:44
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Nein.

__________________
Syntax Highlighting fürs Board (Link)
30.03.2016 11:46 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
progger
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Gute Antwort großes Grinsen

Wie prüfst du, ob die eine Ecke links oberhalb der anderen ist?

Ich weiss es nicht .

Woran merke ich denn dass die Ecke links oberhalb ist?
30.03.2016 22:10
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich sehe ehrlich gesagt die Schwierigkeit nicht.
Ein Punkt ist unten links von einem anderen, wenn sein x und y Wert kleiner sind als der des anderen Punktes.
Und das "wenn" noch ins Englische übersetzen, mehr ist das nicht.
code:
1:
2:
3:
4:
if (bottomLeft.x <= topRight.x && bottomLeft.y <= topRight.y) {
	m_bottomLeft = bottomLeft;
	m_topRight = topRight;
}


__________________
Syntax Highlighting fürs Board (Link)
31.03.2016 07:58 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
progger
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Die Aufgabe ist wiklich langweilig irgendwie großes Grinsen

großes Grinsen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
#include "CRectangle.h"

CRectangle::CRectangle(char fillChar)
{
	m_fillChar = fillChar;
}

CRectangle::CRectangle(CPoint bottomLeft, CPoint topRight, char fillChar)
{
       m_topRight= topRight;
	if(topRight.x < bottomLeft.x) {
		m_bottomLeft.x = bottomLeft.x;
	}
if(topRight.x > bottomLeft.x) {
		m_bottomLeft.y = bottomLeft.y;
	}
	if(topRight.y < bottomLeft.y) {
		m_bottomLeft.y = bottomLeft.y;
	}
if(topRight.y > bottomLeft.y) {
		m_bottomLeft.x = bottomLeft.y;
	}






}

void CRectangle::setCorners(CPoint bottomLeft, CPoint topRight)
{
	if (bottomLeft.x <= topRight.x && bottomLeft.y <= topRight.y) {
		m_bottomLeft = bottomLeft;
		m_topRight = topRight;
	}
}

CPoint CRectangle::getBottomLeftCorner() const
{
	// Bitte implementieren und dabei das return-Statement ersetzen.
	return m_BottomLeftCorner();
}

CPoint CRectangle::getTopRightCorner() const
{
	// Bitte implementieren und dabei das return-Statement ersetzen.
	return m_TopRightCorner();
}

void CRectangle::setFillChar(char fillChar)
{
	// Bitte implementieren
}

char CRectangle::getFillChar() const
{
	// Bitte implementieren und dabei das return-Statement ersetzen.
	return 0;
}

bool CRectangle::operator ==(const CRectangle& other) const
{
	// Bitte implementieren und dabei das return-Statement ersetzen.
	return false;
}

void CRectangle::draw(CScreen& screen) const
{
	// Bitte implementieren
}






Stimmen die get und set Methoden?
02.04.2016 14:16
progger
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ne Idee Zahl ?
04.04.2016 11:21
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
void CRectangle::setCorners(CPoint bottomLeft, CPoint topRight)
{
	if (bottomLeft.x <= topRight.x && bottomLeft.y <= topRight.y) {
		m_bottomLeft = bottomLeft;
		m_topRight = topRight;
	}
}

ja, das stimmt.

code:
1:
2:
3:
4:
5:
CPoint CRectangle::getBottomLeftCorner() const
{
	// Bitte implementieren und dabei das return-Statement ersetzen.
	return m_BottomLeftCorner();
}

das ist falsch, du hast keine Funktion m_BottomLeftCorner().
Richtig wäre return m_bottomLeft;.

Für topRight gilt das selbe.

__________________
Syntax Highlighting fürs Board (Link)
05.04.2016 08:44 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
progger
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
CPoint CRectangle::getBottomLeftCorner() const
{
	// Bitte implementieren und dabei das return-Statement ersetzen.
	return m_bottomLeft();
}

CPoint CRectangle::getTopRightCorner() const
{
	// Bitte implementieren und dabei das return-Statement ersetzen.
	return m_topRight();
}






code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
void CRectangle::setFillChar(char fillChar)
{
	m_fillChar = fillChar;
}

char CRectangle::getFillChar() const
{
	// Bitte implementieren und dabei das return-Statement ersetzen.
	return m_fillChar;
}




Kannst du bisschen versuchen zu erklären was man bei der f) machen muss ?

Verstehe nicht so genau was die wollen großes Grinsen
07.04.2016 21:11
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
CPoint CRectangle::getBottomLeftCorner() const
{
	// Bitte implementieren und dabei das return-Statement ersetzen.
	return m_bottomLeft();
}

Das ist falsch. m_bottomLeft ist keine Funktion, sondern eine Variable. Deshalb kommen da auch keine Klammern dahinter.

Operatorüberladung hatten wir schon hier: C++ Einführung

__________________
Syntax Highlighting fürs Board (Link)
08.04.2016 06:29 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
net
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Einfach mittels Cout ausgeben ?

Mist alles wieder vergessen großes Grinsen
14.04.2016 17:08
Seiten (3): « vorherige 1 [2] 3 nächste » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Rumpf Implementierungen