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

Informatiker Board » Themengebiete » Theoretische Informatik » Abbruchbedingung » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Abbruchbedingung
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Ratte
unregistriert
Abbruchbedingung Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hat jemand vielleicht eine Idee für die return statement und die Abbruchbedingung bei folgender Aufgabe? Ich zerbreche mir schon seit einer ganzen Zeit den Kopf darüber... verwirrt

Ratte hat dieses Bild (verkleinerte Version) angehängt:
palin.png

14.11.2015 23: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

Im Beispiel hast du ein Wort ungerader Länge. Du wirst irgendwann Position 3 mit Position 3 vergleichen (der Ausgang des Vergleichs ist klar). Danach vergleichst du nur noch Ziffer, die du schon verglichen hast.
Wie sieht es bei gerader Ziffernzahl aus?

__________________
Syntax Highlighting fürs Board (Link)
15.11.2015 07:21 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Ratte
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

Hallo eulersche Zahl,

irgendwie kann ich dir nicht folgen unglücklich
In welchem beispiel? Ungerader länge? Hättest du bitte die güte mir das per quellcode näher zu bringen?
15.11.2015 07:56
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 nehme Bezug auf das Beispiel, das du in deinem Bild angehängt hast.

__________________
Syntax Highlighting fürs Board (Link)
15.11.2015 07:57 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Ratte
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

Bei geraden ziffernzahln weiß ich es nicht. Zumindest fällt mir spontan kein mathematischer ausdruck dafür ein um den vergleich zu beschreiben. verwirrt
15.11.2015 08: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

Ich habe mal ein wenig rumgespielt.
Edit: das eine Bild musst du anklicken, damit sich was bewegt.

eulerscheZahl hat dieses Bild (verkleinerte Version) angehängt:
palin12344321.gif

eulerscheZahl hat dieses Bild angehängt:
palin1234321.gif



__________________
Syntax Highlighting fürs Board (Link)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von eulerscheZahl: 15.11.2015 08:38.

15.11.2015 08:37 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Ratte
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

Danke für das attachment. Leider weiß ich trotzdessen nicht wie ich das in "quellcode" schreibe unglücklich
15.11.2015 09:41
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

Rekursiver Aufruf: erhöhe left, verringere right
Abbruch: left >= right

__________________
Syntax Highlighting fürs Board (Link)
15.11.2015 12:37 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Ratte
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

Zitat:
Original von eulerscheZahl
Rekursiver Aufruf: erhöhe left, verringere right
Abbruch: left >= right


Vielen dank! smile

Also mit (zahl\10^position)%10

Kann ich von rechts nach links gehen. Aber wie bewege ich nun die position von links nach rechts?
15.11.2015 13:38
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

Mit (zahl\10^position)%10 bekommst du eine einzelne Ziffer.
Um die Ziffer rechts daneben zu bekommen, musst du position um eins verringern, nach links musst du position erhöhen.

__________________
Syntax Highlighting fürs Board (Link)
15.11.2015 13:42 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Ratte
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

etwa so?

also für right = (zahl\10^(position+1))%10
udn für left = ( zahl\10^(position-1))%10
15.11.2015 14:07
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

Nach Aufgabenstellung hast du die Variable position gar nicht, dafür aber right und left. Diese kannst du in die Formel gleich für position einsetzen.

__________________
Syntax Highlighting fürs Board (Link)
15.11.2015 14:10 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Ratte
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

ist das so richtig?

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
public static boolean isPalindrom1(int number, int left, int right){

if (left >= right) {
return isPalindrom1(( zahl\(10^right))%10)
else
return isPalindrom1(( zahl\(10^left))%10)


	} 
 

}
15.11.2015 14:38
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.
^ macht in Java XOR.
Und du gibst nirgendwo true oder false zurück. Außerdem musst du in jedem Druchlauf 2 Ziffern miteinander vergleichen.

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:
public class Main {

	public static void main(String[] args) {
		System.out.println(isPalindrom(1234321, 0, 6));
		System.out.println(isPalindrom(12344321, 0, 7));
		System.out.println(isPalindrom(12345321, 0, 7));
	}

	static int getDigit(int number, int position) {
		int factor = 1;
		for (int i = 0; i < position; i++) {
			factor *= 10;
		}
		return (number / factor) % 10;
	}

	static boolean isPalindrom(int number, int left, int right) {
		if (left >= right)
			return true;
		if (getDigit(number, left) != getDigit(number, right))
			return false;
		return isPalindrom(number, left + 1, right - 1);
	}
}


__________________
Syntax Highlighting fürs Board (Link)
15.11.2015 14:46 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Abbruchbedingung