Kleiner Denksport- (und Logik?-) Thread
- FireBird
- Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
- Beiträge: 28750
- Registriert: Fr 9. Dez 2005, 09:59
- Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k - Wohnort: Wien
AW: Kleiner Denksport- (und Logik?-) Thread
Deine Lebenserfahrungen sind bei dem Test nicht gefragt.
- TV-Junkie
- Alteingesessener
- Beiträge: 28022
- Registriert: Sa 16. Jun 2007, 19:10
- Receivertyp: VU+ Duo4K, Ultimo4K und Uno4KSE
- Receiverfirmware: VTI 15.xx ausser der Uno 4K SE
- Wohnort: Düsseldorf
AW: Kleiner Denksport- (und Logik?-) Thread
Och schade, ich dachte, ich könnte mal was sinnvolles Beitragen
Gruß Ha-Jü
----------------------------------------------------------------------------------------------
Zum Tippspiel BuLi 2019/2020 hier entlang
Und wer Lust auf tippen beim DFB Pokal hat, darf sich hier austoben
Viel Spaß
Sat-Anlage: Astro CAS 90 mit Kathrein UAS 584 LNB (20Jahre alt und noch immer Top in Schuss ), Jultec JPS0506-8T Unicable Multischalter sowie UM/VF West Kabelanschluß
Installierte Plugins:OScam (incl OScam-Butler), LV4, SmartEPG VU+, ansonsten nix, was VTI nicht schon selbst mitbringt
----------------------------------------------------------------------------------------------
Zum Tippspiel BuLi 2019/2020 hier entlang
Und wer Lust auf tippen beim DFB Pokal hat, darf sich hier austoben
Viel Spaß
Sat-Anlage: Astro CAS 90 mit Kathrein UAS 584 LNB (20Jahre alt und noch immer Top in Schuss ), Jultec JPS0506-8T Unicable Multischalter sowie UM/VF West Kabelanschluß
Installierte Plugins:OScam (incl OScam-Butler), LV4, SmartEPG VU+, ansonsten nix, was VTI nicht schon selbst mitbringt
- Anthea
- Boarddoktor
- Beiträge: 10662
- Registriert: Mo 5. Dez 2005, 13:15
- Receivertyp: TF7700HDPVR, SRP-2100, SRP-2410CI+Eco
- Receiverfirmware: aktuell :)
- Wohnort: Fürth
- Kontaktdaten:
AW: Kleiner Denksport- (und Logik?-) Thread
Die Gegenstände sind nur zufällig gewählte Namen für irgendetwas. Völlig Realitätsfern, wie jede reine Logik
- alex
- Typographisch harmonysierter Selbstreiniger
- Beiträge: 2284
- Registriert: Do 15. Dez 2005, 16:10
- Receivertyp: SRP-2410
- Receiverfirmware: 1.08.01 vom 29.09.11
- Wohnort: Bischweier
AW: Kleiner Denksport- (und Logik?-) Thread
Anthea hat geschrieben:dementsprechend kann man über 6 genauso diskutieren.
Stimmt, war mir noch gar nicht aufgefallen. In jedem Fall bin ich beruhigt, dass du das mit 3 und 9 genauso siehst. Ich hab es jedenfalls nicht geschafft, die (allesamt "logisch" nicht vorbelasteten) Mitdiskutierer davon zu überzeugen, dass die Musterlösung an dieser Stelle nicht korrekt ist. Selbst ein praktisches Gegebeispiel mit Glas- und Kunststoffflaschen hat nicht geholfen
Alex
HD unbedingt, aber HD+ könnt ihr behalten.
Topfield SRP-2410, LG 55EF950V, Panasonic DMP-BDT220, Dune HD Solo Lite, Onkyo TX-NR545 + Canton Movie Set (AV 700, 2× Plus XL, 2× Plus X, AS 25 SC), Logitech Harmony 555, Fire TV Stick 4K Max
AS-TAPs: PowerRestore, IQTuner, FastSkip
2× SRP-2401CI+ Eco
HD unbedingt, aber HD+ könnt ihr behalten.
Topfield SRP-2410, LG 55EF950V, Panasonic DMP-BDT220, Dune HD Solo Lite, Onkyo TX-NR545 + Canton Movie Set (AV 700, 2× Plus XL, 2× Plus X, AS 25 SC), Logitech Harmony 555, Fire TV Stick 4K Max
AS-TAPs: PowerRestore, IQTuner, FastSkip
2× SRP-2401CI+ Eco
-
- Super-Freak
- Beiträge: 3767
- Registriert: Do 27. Aug 2009, 23:32
- Receivertyp: TF5500PVR (506) [STUPIDsEB2]
TF7750 (E2) - Receiverfirmware: 03.01.2007
- Wohnort: BW
AW: Kleiner Denksport- (und Logik?-) Thread
Ich hätte es ja mit Mengenlehre versucht.
Am Beispiel 3)
- Die Menge der Zangen ist eine Teilmenge der Künstler. (Alle Frauen sind Menschen.)
- die Menge der nicht malen könnenden Künstler ist ebenso eine Teilmenge der Künstler.
(Manche Menschen können nicht Auto fahren.)
Sind die beiden Mengen disjunkt, ist die Aussage (Also können Frauen nicht Auto fahren.) falsch.
Am Beispiel 3)
- Die Menge der Zangen ist eine Teilmenge der Künstler. (Alle Frauen sind Menschen.)
- die Menge der nicht malen könnenden Künstler ist ebenso eine Teilmenge der Künstler.
(Manche Menschen können nicht Auto fahren.)
Sind die beiden Mengen disjunkt, ist die Aussage (Also können Frauen nicht Auto fahren.) falsch.
Receiver: 5500PVR mit WD3200AVJB, 7750HDPVR mit WDC WD10EADS-00L, 6000Fe
TAPs: Deselect v1.1 ° AutoReboot V2.2a ° Power Restore V0.7.6 ° AutoDST / 3PG V0.3 ° Automove V1.9 [60] ° SmartCut 01.03.11 (4) ° Nice Display 2.1 ° 3PG 1.29(rc4) ° Euro-Stirf v1.32 ° Radiotext 0.56 ° Filer v2.31 ° WSSkiller V2.12d ° SDS V1.3e ° Standby v1.8
Samsung UE 40 B6000
PS3
Harmony 555
TAPs: Deselect v1.1 ° AutoReboot V2.2a ° Power Restore V0.7.6 ° AutoDST / 3PG V0.3 ° Automove V1.9 [60] ° SmartCut 01.03.11 (4) ° Nice Display 2.1 ° 3PG 1.29(rc4) ° Euro-Stirf v1.32 ° Radiotext 0.56 ° Filer v2.31 ° WSSkiller V2.12d ° SDS V1.3e ° Standby v1.8
Samsung UE 40 B6000
PS3
Harmony 555
- TV-Junkie
- Alteingesessener
- Beiträge: 28022
- Registriert: Sa 16. Jun 2007, 19:10
- Receivertyp: VU+ Duo4K, Ultimo4K und Uno4KSE
- Receiverfirmware: VTI 15.xx ausser der Uno 4K SE
- Wohnort: Düsseldorf
AW: Kleiner Denksport- (und Logik?-) Thread
karlek hat geschrieben:Ich hätte es ja mit Mengenlehre versucht.
Am Beispiel 3)
- Die Menge der Zangen ist eine Teilmenge der Künstler. (Alle Frauen sind Menschen.)
- die Menge der nicht malen könnenden Künstler ist ebenso eine Teilmenge der Künstler.
(Manche Menschen können nicht Auto fahren.)
Sind die beiden Mengen disjunkt, ist die Aussage (Also können Frauen nicht Auto fahren.) falsch.
soll ich da wieder von meiner Lebenserfahrung berichten
Ne, ich lasse es mal
Gruß Ha-Jü
----------------------------------------------------------------------------------------------
Zum Tippspiel BuLi 2019/2020 hier entlang
Und wer Lust auf tippen beim DFB Pokal hat, darf sich hier austoben
Viel Spaß
Sat-Anlage: Astro CAS 90 mit Kathrein UAS 584 LNB (20Jahre alt und noch immer Top in Schuss ), Jultec JPS0506-8T Unicable Multischalter sowie UM/VF West Kabelanschluß
Installierte Plugins:OScam (incl OScam-Butler), LV4, SmartEPG VU+, ansonsten nix, was VTI nicht schon selbst mitbringt
----------------------------------------------------------------------------------------------
Zum Tippspiel BuLi 2019/2020 hier entlang
Und wer Lust auf tippen beim DFB Pokal hat, darf sich hier austoben
Viel Spaß
Sat-Anlage: Astro CAS 90 mit Kathrein UAS 584 LNB (20Jahre alt und noch immer Top in Schuss ), Jultec JPS0506-8T Unicable Multischalter sowie UM/VF West Kabelanschluß
Installierte Plugins:OScam (incl OScam-Butler), LV4, SmartEPG VU+, ansonsten nix, was VTI nicht schon selbst mitbringt
- ewgh
- Ex-Downgraded to 224 Postings
- Beiträge: 11063
- Registriert: Fr 9. Dez 2005, 13:07
- Wohnort: CH-8592
AW: Kleiner Denksport- (und Logik?-) Thread
Ich verstehe die Argumentationen z.T. nicht. Anthea sagt:
zu 3:
"Einige Vögel sind Schraubenzieher. Einige Schraubenzieher spielen Flöte. Also spielen einige
Vögel Flöte."
"Einige Vögel" impliziert, dass es Vögel gibt, welche die Schraubenzieher-Eigenschaft besitzen. Die Schnittmenge zwischen der Menge der Vögel und der Menge der Schraubenzieher ist also nicht leer.
Die gleiche Überlegung gilt für die Menge der Vögel und die Menge der Flötisten.
Da die beiden Schnittmengen disjunkt (siehe karlek) sein können, ist die Folgerung falsch!
Ähnliche Überlegungen gibt es auch für andere dieser Folgerungen.
zu 2:
"Alle Stöcke lieben Hunde"
Was ist hier Subjekt, was Objekt?!
Doch, unabhängig davon, gibt es auch hier entweder ein wahr oder falsch!
Bei diesen "Logikspielereinen" handelt es sich um Folgerungen. Diese sind zwingend richtig oder falsch; ein "Könnte-sein" hat keinen Platz.Über 3 kann man diskutieren. ...
zu 3:
"Einige Vögel sind Schraubenzieher. Einige Schraubenzieher spielen Flöte. Also spielen einige
Vögel Flöte."
"Einige Vögel" impliziert, dass es Vögel gibt, welche die Schraubenzieher-Eigenschaft besitzen. Die Schnittmenge zwischen der Menge der Vögel und der Menge der Schraubenzieher ist also nicht leer.
Die gleiche Überlegung gilt für die Menge der Vögel und die Menge der Flötisten.
Da die beiden Schnittmengen disjunkt (siehe karlek) sein können, ist die Folgerung falsch!
Ähnliche Überlegungen gibt es auch für andere dieser Folgerungen.
zu 2:
"Alle Stöcke lieben Hunde"
Was ist hier Subjekt, was Objekt?!
Doch, unabhängig davon, gibt es auch hier entweder ein wahr oder falsch!
Gruss
ewgh
ewgh
- alex
- Typographisch harmonysierter Selbstreiniger
- Beiträge: 2284
- Registriert: Do 15. Dez 2005, 16:10
- Receivertyp: SRP-2410
- Receiverfirmware: 1.08.01 vom 29.09.11
- Wohnort: Bischweier
AW: Kleiner Denksport- (und Logik?-) Thread
[quote="ewgh"]gibt es auch hier entweder ein wahr oder falsch![/quote]
Stimmt, die c)-Antworten sind alle überflüssig. Was sind denn bitte immer die "beiden Antworten" von denen da die Rede ist? Es gibt immer zwei Bedingungen und eine Schlussfolgerung, letztere kann dann falsch oder richtig sein.
Alex
HD unbedingt, aber HD+ könnt ihr behalten.
Topfield SRP-2410, LG 55EF950V, Panasonic DMP-BDT220, Dune HD Solo Lite, Onkyo TX-NR545 + Canton Movie Set (AV 700, 2× Plus XL, 2× Plus X, AS 25 SC), Logitech Harmony 555, Fire TV Stick 4K Max
AS-TAPs: PowerRestore, IQTuner, FastSkip
2× SRP-2401CI+ Eco
HD unbedingt, aber HD+ könnt ihr behalten.
Topfield SRP-2410, LG 55EF950V, Panasonic DMP-BDT220, Dune HD Solo Lite, Onkyo TX-NR545 + Canton Movie Set (AV 700, 2× Plus XL, 2× Plus X, AS 25 SC), Logitech Harmony 555, Fire TV Stick 4K Max
AS-TAPs: PowerRestore, IQTuner, FastSkip
2× SRP-2401CI+ Eco
- ewgh
- Ex-Downgraded to 224 Postings
- Beiträge: 11063
- Registriert: Fr 9. Dez 2005, 13:07
- Wohnort: CH-8592
AW: Kleiner Denksport- (und Logik?-) Thread
Antwort 1: wahrWas sind denn bitte immer die "beiden Antworten" von denen da die Rede ist? Es gibt immer zwei Bedingungen und eine Schlussfolgerung, letztere kann dann falsch oder richtig sein.
Antwort 2: falsch
NB:
Ich hab' nochmals nachgesehn. Richtigerweise müsste ich schreiben:
Antwort 1: stimmt
Antwort 2: stimmt nicht
Zuletzt geändert von ewgh am Mi 24. Okt 2012, 17:52, insgesamt 1-mal geändert.
Grund: NB
Grund: NB
Gruss
ewgh
ewgh
- hagge
- Jung-Guru
- Beiträge: 1921
- Registriert: Fr 9. Dez 2005, 15:43
- Receivertyp: SRP-2401CI+, TF5000PVR
- Wohnort: Stuttgart
AW: Kleiner Denksport- (und Logik?-) Thread
Mal eine kleine Programmierknobelaufgabe.
Gesucht ist eine Funktion (in C), die in einem String alle führenden Slashes und alle führenden einzelnen Punkte überspringt, wenn diese von Slashes gefolgt werden, und den Reststring zurückgibt. So etwas kommt zum Beispiel beim Parsen von Pfadnamen vor.
Das Ganze soll so effizient wie möglich sein, also möglichst keine doppelten Auswertungen. Ein Zugriff auf den String gilt somit als "teuer" (langsamer Speicherzugriff) und soll möglichst nicht mehrfach auf das gleiche Zeichen erfolgen. Lokale Variablen sind "billig" (schnelle Prozessorregisterzugriffe) und können beliebig genutzt werden. Dass der Compiler ggf. von sich aus mehrfache Speicherzugriffe wegoptimieren kann, soll hier mal vernachlässigt werden. Es soll also schon vom C-Code aus möglichst optimal sein.
Beispiele:
Klingt einfach? Dachte ich auch. Bis ich nach einer halben Stunde immer noch keine so wirklich elegante Lösung hatte. Also probiert es mal aus. Hier als Beispiel die Funktion, wenn man nur alle führenden Slashes entfernen wollte, das wäre in der Tat einfach.
Der zweite Teil mit dem Punkt und die Effizienzanforderung machen das Ganze kompliziert.
Anmerkung: Wie in C üblich ist der String mit einem 0-Byte abgeschlossen.
Gruß,
Hagge
Gesucht ist eine Funktion (in C), die in einem String alle führenden Slashes und alle führenden einzelnen Punkte überspringt, wenn diese von Slashes gefolgt werden, und den Reststring zurückgibt. So etwas kommt zum Beispiel beim Parsen von Pfadnamen vor.
Das Ganze soll so effizient wie möglich sein, also möglichst keine doppelten Auswertungen. Ein Zugriff auf den String gilt somit als "teuer" (langsamer Speicherzugriff) und soll möglichst nicht mehrfach auf das gleiche Zeichen erfolgen. Lokale Variablen sind "billig" (schnelle Prozessorregisterzugriffe) und können beliebig genutzt werden. Dass der Compiler ggf. von sich aus mehrfache Speicherzugriffe wegoptimieren kann, soll hier mal vernachlässigt werden. Es soll also schon vom C-Code aus möglichst optimal sein.
Beispiele:
Code: Alles auswählen
1. ///abc/def --> abc/def führende Slashes entfernen
2. ./abc/def --> abc/def führende einzelne Punkte entfernen
3. .abc/def --> .abc/def aber nur wenn sie zwischen Slashes stehen
4. ./abc//./def --> abc//./def Nur am Anfang entfernen
5. /.//././abc/def --> abc/def Auch beliebige Mischungen müssen wegfallen
6. /./.abc/def --> .abc/def Hier darf der Punkt vor abc nicht wegfallen
7. /./.././abc/def --> .././abc/def Mehrfache Punkte müssen auch bleiben
8. .////. --> (leerer String) Ein Punkt kann auch am Ende des Strings stehen
9. .///// --> (leerer String) ebenso ein Slash
Code: Alles auswählen
char *skip(char *p)
{
while (*p == '/')
p++;
return p;
}
Anmerkung: Wie in C üblich ist der String mit einem 0-Byte abgeschlossen.
Gruß,
Hagge
Zuletzt geändert von hagge am Do 15. Nov 2012, 11:09, insgesamt 6-mal geändert.
- FireBird
- Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
- Beiträge: 28750
- Registriert: Fr 9. Dez 2005, 09:59
- Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k - Wohnort: Wien
AW: Kleiner Denksport- (und Logik?-) Thread
Zumindest liefert das folgende das von Dir gewünschte Ergebnis. Ob es Dir aber gefällt...
Man könnte p[0] und p[1] noch in zwei lokale Var schreiben, dann gibt es jeden Speicherzugriff nur ein Mal.
Code: Alles auswählen
char *skip(char *p)
{
while((*p == '/') || (p[0] == '.' && (p[1] == '/' || p[1] == '\0')))
p++;
return p;
}
Code: Alles auswählen
char *skip(char *p)
{
char a, b;
while(((a = *p) == '/') || (a == '.' && ((b = p[1]) == '/' || b == '\0')))
p++;
return p;
}
Zuletzt geändert von FireBird am Do 15. Nov 2012, 12:18, insgesamt 2-mal geändert.
- hagge
- Jung-Guru
- Beiträge: 1921
- Registriert: Fr 9. Dez 2005, 15:43
- Receivertyp: SRP-2401CI+, TF5000PVR
- Wohnort: Stuttgart
AW: Kleiner Denksport- (und Logik?-) Thread
Schon mal ein guter Ansatz. Das mit den beiden Variablen wäre dann der nächste Schritt (ah, OK, sehe gerade dass Du nacheditiert hast).
Was hier aber noch ein Problem ist, ist dass ein Slash hinter einem Punkt im nächsten Schleifendurchlauf nochmal ausgewertet wird, also insgesamt zweimal.
Hagge
Was hier aber noch ein Problem ist, ist dass ein Slash hinter einem Punkt im nächsten Schleifendurchlauf nochmal ausgewertet wird, also insgesamt zweimal.
Hagge
Zuletzt geändert von hagge am Do 15. Nov 2012, 12:28, insgesamt 3-mal geändert.
- FireBird
- Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
- Beiträge: 28750
- Registriert: Fr 9. Dez 2005, 09:59
- Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k - Wohnort: Wien
AW: Kleiner Denksport- (und Logik?-) Thread
Die optimierte Routine wurde noch nacheditiert.
- FireBird
- Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
- Beiträge: 28750
- Registriert: Fr 9. Dez 2005, 09:59
- Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k - Wohnort: Wien
AW: Kleiner Denksport- (und Logik?-) Thread
Irgendwelche Doppelzugriffe wird man nicht verhindern können. Hier sorgt die innere Schleife für den Sonderfall "Mehrere-Slashes" für ein schnelles Incrementierens des Pointers.
Code: Alles auswählen
char *skip(char *p)
{
char a, b;
while(((a = *p) == '/') || (a == '.' && ((b = p[1]) == '/' || b == '\0')))
{
if(a == '/')
while(p[1] == '/')
p++;
p++;
}
return p;
}
- hagge
- Jung-Guru
- Beiträge: 1921
- Registriert: Fr 9. Dez 2005, 15:43
- Receivertyp: SRP-2401CI+, TF5000PVR
- Wohnort: Stuttgart
AW: Kleiner Denksport- (und Logik?-) Thread
FireBird hat geschrieben:Irgendwelche Doppelzugriffe wird man nicht verhindern können.
Ah, jetzt dringst Du langsam zum eigentlichen Problem der Aufgabe durch. Doch, es geht.
Hagge
- FireBird
- Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
- Beiträge: 28750
- Registriert: Fr 9. Dez 2005, 09:59
- Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k - Wohnort: Wien
AW: Kleiner Denksport- (und Logik?-) Thread
Ich ändere meine Behauptung. Wenn a == '/' ist, dann wird der zweite Teil der äusseren while-Schleifenabfrage - und somit das p[1] - nicht mehr ausgeführt. Damit gibt es auch keinen Doppelzugriff auf die selbe Speicherstelle. Das fällt sicher nicht unter Deine Compiler-Optimierungsregel .
Zuletzt geändert von FireBird am Do 15. Nov 2012, 12:52, insgesamt 2-mal geändert.
- hagge
- Jung-Guru
- Beiträge: 1921
- Registriert: Fr 9. Dez 2005, 15:43
- Receivertyp: SRP-2401CI+, TF5000PVR
- Wohnort: Stuttgart
AW: Kleiner Denksport- (und Logik?-) Thread
Ok, wieder etwas besser. Zwei Dinge stören mich noch: einmal wird das a zweimal auf Gleichheit mit '/' abgefragt, was zwar laut meiner Bedingungen erlaubt wäre, was man aber auch noch vermeiden kann. Aber das wichtigere ist, dass in Deiner Version eine '\0' hinter einem Punkt immer noch zweimal abgefragt wird, nämlich nochmal im nächsten Schleifendurchlauf.
Edit: halt stopp, Deine Änderung löst das Problem mit der doppelten Auswertung von / hinter einem Punkt ja auch noch nicht. Wenn man ./ im String hat, dann erkennt die äußere while-Schleife das und geht in die Schleife rein, aber da das erste Zeichen ja kein / ist, wird p einfach nur um 1 erhöht. Somit wird das / im nächsten Schritt nochmal neu abgefragt.
Hagge
Edit: halt stopp, Deine Änderung löst das Problem mit der doppelten Auswertung von / hinter einem Punkt ja auch noch nicht. Wenn man ./ im String hat, dann erkennt die äußere while-Schleife das und geht in die Schleife rein, aber da das erste Zeichen ja kein / ist, wird p einfach nur um 1 erhöht. Somit wird das / im nächsten Schritt nochmal neu abgefragt.
Hagge
Zuletzt geändert von hagge am Do 15. Nov 2012, 14:11, insgesamt 1-mal geändert.
- hagge
- Jung-Guru
- Beiträge: 1921
- Registriert: Fr 9. Dez 2005, 15:43
- Receivertyp: SRP-2401CI+, TF5000PVR
- Wohnort: Stuttgart
AW: Kleiner Denksport- (und Logik?-) Thread
Auch bei mir Kommando zurück. Diese neue Version von Dir ist *nicht* besser. Je länger ich es mir überlege ist die innere Schleife bei Deiner letzten Version völlig unnötig da und verlangsamt alles nur. Denn genau wie Du sagst wird die while-Bedingung kurz ausgewertet, also nur der Vergleich von a mit / ausgeführt, wenn a tatsächlich ein / enthält. Dann war der vorherige Teil, der einfach in der Schleife nur p inkrementiert hat, schneller als jetzt eine zusätzliche Abfrage mit der inneren Schleife.
Beispiel: ////
vorheriger Ablauf ohne innere Schleife:
if ((a = *p)=='/'), p++, if ((a = *p)=='/'), p++, if ((a = *p)=='/'), p++, if ((a = *p)=='/'), p++, if ((a = *p)=='/'), return p
jetziger Ablauf mit innerer Schleife:
if ((a = *p)=='/'), if (a=='/'), if (p[1]=='/'), p++, if (p[1]=='/'), p++, if (p[1]=='/'), p++, p++, if ((a = *p)=='/'), return p
Vorher: 5 Vergleiche, jetzt: 6 Vergleiche. Insofern: diese Optimierung ist gar keine.
Hagge
Beispiel: ////
vorheriger Ablauf ohne innere Schleife:
if ((a = *p)=='/'), p++, if ((a = *p)=='/'), p++, if ((a = *p)=='/'), p++, if ((a = *p)=='/'), p++, if ((a = *p)=='/'), return p
jetziger Ablauf mit innerer Schleife:
if ((a = *p)=='/'), if (a=='/'), if (p[1]=='/'), p++, if (p[1]=='/'), p++, if (p[1]=='/'), p++, p++, if ((a = *p)=='/'), return p
Vorher: 5 Vergleiche, jetzt: 6 Vergleiche. Insofern: diese Optimierung ist gar keine.
Hagge
- hagge
- Jung-Guru
- Beiträge: 1921
- Registriert: Fr 9. Dez 2005, 15:43
- Receivertyp: SRP-2401CI+, TF5000PVR
- Wohnort: Stuttgart
AW: Kleiner Denksport- (und Logik?-) Thread
Na, will noch jemand anders ran oder soll ich auflösen?
Hagge
Hagge
- Anthea
- Boarddoktor
- Beiträge: 10662
- Registriert: Mo 5. Dez 2005, 13:15
- Receivertyp: TF7700HDPVR, SRP-2100, SRP-2410CI+Eco
- Receiverfirmware: aktuell :)
- Wohnort: Fürth
- Kontaktdaten:
AW: Kleiner Denksport- (und Logik?-) Thread
Hm.
Code: Alles auswählen
char *skip ( char *p)
{
int source=0;
while(1)
{
switch(p[source])
{
case '.':
case '/':
break;
default:
return &p[source];
}
source++;
}
}
Zuletzt geändert von Anthea am Fr 16. Nov 2012, 10:14, insgesamt 1-mal geändert.