Trim Funktion

Tutorials.at
Verfügbare Informationen zu "Trim Funktion"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: Kimi - Xin - Moritz
  • Forum: Tutorials.at
  • Forenbeschreibung: Programmierforum
  • aus dem Unterforum: C / C++
  • Antworten: 8
  • Forum gestartet am: Mittwoch 19.04.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Trim Funktion
  • Letzte Antwort: vor 16 Jahren, 3 Monaten, 29 Tagen, 5 Stunden, 49 Minuten
  • Alle Beiträge und Antworten zu "Trim Funktion"

    Re: Trim Funktion

    Kimi - 28.12.2007, 19:32

    Trim Funktion
    Hi ich suche eine Trimfunktion für Leerzeichen am stringanfang und für das stringende.

    Die dazwischenliegenden sollen erhalten bleiben (Leerzeilen).


    Bsp.:

    " im Hotel "-> "im Hotel"



    Gruß Kimi



    Re: Trim Funktion

    Xin - 28.12.2007, 20:59

    Re: Trim Funktion
    Kimi hat folgendes geschrieben: Hi ich suche eine Trimfunktion für Leerzeichen am stringanfang und für das stringende.
    Die dazwischenliegenden sollen erhalten bleiben (Leerzeilen).
    Bsp.: " im Hotel "-> "im Hotel"
    Hmm... ich könnte Dir jetzt eine schreiben, aber stattdessen stelle ich lieber die Frage, warum Du Dir nicht selbst eine schreibst?
    Die Zeit, die Du benötigst, um das Forum zu besuchen, Dich anzumelden und die Frage zu formulieren, würde auch ausreichen, um das Problem zu lösen...!?



    Re: Trim Funktion

    Moritz - 29.12.2007, 12:52


    ich würde sowas schreiben wie:
    Pseudo- Code:
    1: kopiere erstes zeichen in temporäre Variable
    2: prüfe ob " "
    3: lese letztes zeichen in Temporäre Variable
    4: prüfe, ob " "
    5: wenn beides Ja, kopiere nur den Teil dazwischen in eine neue stringvariable , sonst nur den ersten bzw lezten
    6: wiederhole mit der neuen stringvariable, bis alle " " weg sind

    Tipp: " " haben den ascII-code 32



    Re: Trim Funktion

    Xin - 29.12.2007, 13:33


    Moritz hat folgendes geschrieben: ich würde sowas schreiben wie:
    Pseudo- Code:
    1: kopiere erstes zeichen in temporäre Variable
    2: prüfe ob " "
    3: lese letztes zeichen in Temporäre Variable
    4: prüfe, ob " "
    5: wenn beides Ja, kopiere nur den Teil dazwischen in eine neue stringvariable , sonst nur den ersten bzw lezten
    6: wiederhole mit der neuen stringvariable, bis alle " " weg sind

    Tipp: " " haben den ascII-code 32

    Dann mach das mal mit "<space><space><space>Trim Dich<space>".
    Dein Algorithmus funktioniert also nur unter Bedingung, dass links oder rechts je ein Leerzeichen da ist oder links und rechts gleichviele Leerzeichen existieren.
    Weiterhin verbrät er sinnlos Rechenzeit, da er für jede Iteration neue Strings anlegt.
    Das Problem ist doch serialisierbar, wieso baust Du also eine Abhängigkeit beider Teilprobleme ein und baust das ganze auch noch rekursiv auf?
    Warum einfach, wenn auch kompliziert geht? ;-)

    In C drückt man Space übrigens mit ' ' aus. Schön, wenn man grundlegende ASCII-Codes kann - wirklich - aber entweder können alle die grundlegenden ASCII-Codes - dann braucht man es hier nicht zu schreiben - oder es können nicht alle die grundlegenden ASCII-Codes, dann kann aber nicht jeder das Programm sofort verstehen.
    Bei ' ' erschlägst Du beide Probleme.



    Re: Trim Funktion

    Moritz - 29.12.2007, 13:41


    Xin hat folgendes geschrieben:
    Dann mach das mal mit "<space><space><space>Trim Dich<space>".

    DAs geht: Man muss nur darauf achten, dass man Punkt 5 korrekt ausführt

    ("SONST")



    Re: Trim Funktion

    Xin - 29.12.2007, 14:01


    Moritz hat folgendes geschrieben: Xin hat folgendes geschrieben:
    Dann mach das mal mit "<space><space><space>Trim Dich<space>".

    DAs geht: Man muss nur darauf achten, dass man Punkt 5 korrekt ausführt

    ("SONST")

    Punkt für Dich ^^

    Unentschieden, weil das Problem trotzdem zu aufwendig gelöst wird? ;-)



    Re: Trim Funktion

    Moritz - 29.12.2007, 15:38


    ich kenne mich nicht sehr mit c aus und weiss demnach nicht, wie man es besser macht!



    Re: Trim Funktion

    Xin - 29.12.2007, 16:40


    Moritz hat folgendes geschrieben: ich kenne mich nicht sehr mit c aus und weiss demnach nicht, wie man es besser macht!
    Es ist kein C-Problem.
    Es ist ein Algorithmus. Algorithmen sind unabhängig von einer Programmiersprache.

    Du hast einen rekusiven Algorithmus formuliert, der solange neue Strings erzeugt, bis der String nicht mehr weiter zu trimmen ist.

    Das löst das Problem, ist aber eine sehr umständliche Herangehensweise.
    Wenn Du einen Weihnachtsbaum hast, der 2,50 groß ist und möchtest ihn auf 1,80 trimmen, dann gehst Du hin, misst von Deinem jetzigen Baum maximal 10 cm ab, und guckst, ob der restliche Baum 1,80 ist. Wenn nicht pflanzt einen Baum, der so lange wachsen darf, bis er so groß ist, wie der Rest vom vorhandenen Baum.
    Das wiederholst Du so lange rekursiv mit dem neuen Baum, bis Du nichts mehr abmessen musst, weil Dein Baum 1,80 groß ist.

    Man könnte natürlich auch einfach den vorhandenen Baum solange abmessen, bis der Rest das gewünschte Ergebnis ist... das spart die Rekursion und reichlich Zeit, die vergeht, bis die Bäume gewachsen sind.

    Im Idealfall kann man sogar den vorhandenen Baum einfach absägen...



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Tutorials.at

    Ich Verstehe nicht was das ganze Variable ist - gepostet von Fro0zen am Sonntag 17.09.2006
    Euer Alter - gepostet von geek.90 am Sonntag 20.05.2007
    Datei einlesen - gepostet von Blümchen am Mittwoch 07.02.2007
    @Walgo - gepostet von Xin am Samstag 21.07.2007
    Harmonisches Mittel - gepostet von Kimi am Mittwoch 21.11.2007
    3D-Grafik/Modelling/Animation - gepostet von Dirty Oerty am Dienstag 08.05.2007
    Unterschied zwischen void Funktion und andere Funktionen - gepostet von EndSub am Montag 10.07.2006
    Moderator - gepostet von matze(2) am Montag 21.08.2006



    Ähnliche Beiträge wie "Trim Funktion"

    Einweisung & Anleitung zur Funktion des abteils - Logro (Montag 26.03.2007)
    Funktion - ivona1 (Samstag 15.04.2006)
    Funktion gelesen - Syntax (Samstag 17.03.2007)
    Verbesserung Easy Entry Funktion 3-türer - Kalle (Montag 13.11.2006)
    Funktion - Invalid (Mittwoch 26.04.2006)
    Berechnung einer quadratischen Funktion. - Kimi (Donnerstag 08.11.2007)
    Andruckrolle Zahnriemen ohne Funktion! - Netjoker (Mittwoch 17.05.2006)
    Gründungsmitglied ohne Funktion - Binti (Sonntag 24.12.2006)
    Funktion - Richard B Riddick (Sonntag 06.05.2007)
    Klassenmailer/Neue Funktion - Morgentau (Montag 03.10.2005)