Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Programmtips erbeten

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Spezielle Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Nils



Anmeldungsdatum: 24.03.2006
Beiträge: 191

BeitragVerfasst am: 12.09.2018, 18:30    Titel: Programmtips erbeten Antworten mit Zitat

Hi!
Ich erzeuge alphanumerische Zeichenketten gleicher Länge. Gehn wir davon aus dass es viele und lange Ketten sind. Die sollen gespeichert werden. Nun soll aber eine Zeichenkette nicht zweimal erscheinen.[Ein beliebiges Zeichen soll nicht vorkommen.]
Meine Fragen dazu:
-Gibt es eine Standardroutine um solche Aufgaben zu erledigen?
- Muß ich zur Duoplikatprüfung jedes Zeichen einzeln 'ausschneiden' und mit allen bereits vorhandenen vergleichen? Oder gibt's da eine Abkürzung?
-Wann prüfe ich auf Duplikat? Sofort nach dem Erzeugen oder nach Speichern aller Ketten? (Was geht schneller?)
[Wie schließe ich eine bzw. mehrere Zeichen von der Beteiligung an Ketten am sinnvollsten aus?]

Freue mich von Euch zu hören

grüsse
_________________
Kontrolliert die Politik! Laßt nicht die Politik Euch kontrollieren! Das sind Eure Angestellten! Lasst Sie das spüren!!!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 12.09.2018, 19:43    Titel: Antworten mit Zitat

Ich verstehe im Moment das hier nicht so recht:
Zitat:
Nun soll aber eine Zeichenkette nicht zweimal erscheinen.[Ein beliebiges Zeichen soll nicht vorkommen.]

Keine Kette soll komplett identisch sein mit einer der anderen Ketten? Oder ein Zeichen, das in einer Kette vorkam, soll in keiner der anderen Ketten vorkommen? Oder was genau ist hier gemeint?

Wenn einfach nur die komplette Kette nicht doppelt vorkommen soll, würde ich beim Erzeugen die neue Kette mit allen bisherigen Ketten vergleichen. Am effektivsten wäre es vermutlich (bei sehr vielen langen Ketten), die Ketten gleich als Bäume zu speichern und zu sortieren (alle Ketten, die mit "a", "b", "c" ... beginnen; Untersortierung nach dem zweiten Zeichen usw.) Das müsste sich mithilfe von Listen ganz gut machen lassen, eine fertige Struktur kenne ich dazu in FreeBASIC allerdings nicht.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 12.09.2018, 20:06    Titel: Antworten mit Zitat

nemored hat Folgendes geschrieben:
Das müsste sich mithilfe von Listen ganz gut machen lassen, eine fertige Struktur kenne ich dazu in FreeBASIC allerdings nicht.
Dafür wäre doch die Baumstruktur aus dem Wortzähler gut geeignet, mit dem wir uns hier vor einigen Jahren mal die Zeit vertrieben haben. Dort kann man auch die Menge der erlaubten Zeichen und sogar deren Reihenfolge individuell festlegen. Und schnell ist des Ganze auch noch. lächeln

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Spezielle Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz