AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

zählen mit buchstaben?

Ein Thema von Pseudemys Nelsoni · begonnen am 2. Nov 2003 · letzter Beitrag vom 2. Nov 2003
Antwort Antwort
Seite 2 von 3     12 3      
Dagon

Registriert seit: 13. Jul 2003
505 Beiträge
 
Delphi 7 Professional
 
#11

Re: zählen mit buchstaben?

  Alt 2. Nov 2003, 11:20
@r_kerber: Das wollte ich auch gerade schreiben!

@silent: Das würde bedeuten, das Z + Z = B ist, da Z = 26 -> 26 + 26 = 52. Und 52 = 2*26^1 und 2 = B.


EDIT: Ich habe mich da wohl verrechnet, wie ich gerade gemerkt habe. Ich musses nochmal kontrollieren.
  Mit Zitat antworten Zitat
Dagon

Registriert seit: 13. Jul 2003
505 Beiträge
 
Delphi 7 Professional
 
#12

Re: zählen mit buchstaben?

  Alt 2. Nov 2003, 11:26
Also, ich habe mir alles noch mal durch den Kopf gehen lassen und habe gererkt: in diesem System fehlt die Null! Solang es keine Null hat, wirst du wohl auch keine Rechungen durchführen können.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#13

Re: zählen mit buchstaben?

  Alt 2. Nov 2003, 11:31
Es geht, war auch schon fertig.
Mir ist aber leider der Rechnerabgestürtzt, bevor ich speichern konnte.
Also in 5 Minuten nochmal.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#14

Re: zählen mit buchstaben?

  Alt 2. Nov 2003, 12:00
Hat 'en bissl länger gedauert.
Dafür jetzt auch noch verbessert.

Einfach etwas abstrakt denken und "ohne" Nullen rechnen.
Eine Null "@" ist zwar vorhanden, damit aber das gewünschte Ergebnis raus kommt wurde sie in der Ausgabe übersprungen.

Also dann noch viel Spaß damit
Angehängte Dateien
Dateityp: exe stringaddition.exe (249,3 KB, 14x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#15

Re: zählen mit buchstaben?

  Alt 2. Nov 2003, 12:14
Hier noch die 35er Variante mit 0 bis 9 und A bis Z (Buchstabe O weggelassen wegen Ähnlichkeit zu Zahl 0):

Delphi-Quellcode:
function IntPowerInt(ABaseNum, AExponent : Integer) : Integer;
var
  MultCount : Integer;
begin
  Result := 1;
  for MultCount := 1 to AExponent do
    Result := Result * ABaseNum;
end;

function AlphaToNum(ATNstr : String ) : LongWord;
const
  ValidChars : set of Char = ['0'..'9', 'A'..'N', 'P'..'Z'];
var
  ACount : Integer;

  function CharNum(CNchr : Char) : Byte;
    begin
      Case Ord(UpCase(CNchr)) Of
        48..57: CharNum := Ord(UpCase(CNchr)) - 48;
        65..78: CharNum := Ord(UpCase(CNchr)) - 55;
        80..90: CharNum := Ord(UpCase(CNchr)) - 56;
      end;
    end;
begin
  AlphaToNum := 0;
  for ACount := 1 to length(ATNstr) do
    begin
      If not (UpCase(ATNstr[ACount]) in ValidChars) then
        begin
          result := 0;
          Break;
        end;
      result := result + (CharNum(ATNstr[ACount]) * IntPowerInt(35, length(ATNstr) - ACount));
    end;
end;

function NumToAlpha(NTAnum : LongWord ) : String;
var
  NumChar : array[0..34] Of Char;
  NumCount : Word;
begin
  for NumCount := 0 to 9 do NumChar[NumCount] := Chr(48 + NumCount);
  for NumCount := 10 to 23 do NumChar[NumCount] := Chr(55 + NumCount);
  for NumCount := 24 to 34 do NumChar[NumCount] := Chr(56 + NumCount);

  // max 35 hoch (7-1)
  result := '';
  for NumCount := 7 downto 1 do
    If (NTAnum < IntPowerInt(35, NumCount)) then
      begin
        result := result + NumChar[NTAnum div IntPowerInt(35, NumCount-1)];
        NTAnum := NTAnum mod IntPowerInt(35, NumCount-1);
      end;

end;
Delphi-Quellcode:
s1 := 'AZGE';
s2 := 'X45B';
s3 := NumToAlpha(AlphaToNum(s1) + AlphaToNum(s2));
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#16

Re: zählen mit buchstaben?

  Alt 2. Nov 2003, 12:28
Zitat von himitsu:
Eine Null "@" ist zwar vorhanden, damit aber das gewünschte Ergebnis raus kommt wurde sie in der Ausgabe übersprungen.
Geht das überhaupt? Z+A sollte doch eigentlich A0 ergeben, oder?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#17

Re: zählen mit buchstaben?

  Alt 2. Nov 2003, 12:38
Meintest wohl "A@".

Da die Null ("@") übersprungen wird, ist "Z" (26) + "A" (1) nicht "A@" (1.0) sondern "AA" (1.1).

Logischer währe es gewesen "A" = 0 ... "Z" = 25 zu setzen, dann ist aber "A" (0) + "A" (0) = "A" (0) und nicht "A" (1) + "A" (1) = "B" (2).
Deshalb gibt es bei diesem Zahlensystem auch nur die Wertigkeiten 1 bis 26.


Add:
Ist vieleicht etwas schwer zu erklären, da wir ja sonst "nur" mit Zahlensystem die eine 0 enthalen arbeiten:
Binär = 0 und 1
Oktal = 0 bis 7
Hexadezimal = 0 bis 15
und natürlich das dezimale = 0 bis 9
...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Dagon

Registriert seit: 13. Jul 2003
505 Beiträge
 
Delphi 7 Professional
 
#18

Re: zählen mit buchstaben?

  Alt 2. Nov 2003, 12:40
Das Problem ist ja, ein Zahlensystem ohne die Null ist nicht wirklich ein Zahlensystem, wenn man es mathematisch betrachtet.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#19

Re: zählen mit buchstaben?

  Alt 2. Nov 2003, 13:01
Das ist schon ein, es kennt halt nur die Werte 1 bis unendlich.

Das geht doch schon in die Richtung, wie:
Wenn 3 Menschen in einem Raum sind
und 5 diesen verlassen,
müssen 2 wieder rein gehen,
damit niemand mehr drin ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: zählen mit buchstaben?

  Alt 2. Nov 2003, 14:27
Moin The Master,

Zitat von the_master:
Das Problem ist ja, ein Zahlensystem ohne die Null ist nicht wirklich ein Zahlensystem, wenn man es mathematisch betrachtet.
Das dürfte wohl Definitionssache sein.
Bei den römischen Zahlen gibt es auch keine 0.
Da man erst mit der 0 sinnvoll rechnen konnte, haben wir heute wohl auch die arabischen Ziffern, denn die Araber haben die 0 eingeführt. (Übrigens sifr ist das arabische Wort für 0, aus dem dann bei uns das Wort Ziffer geworden ist).
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz