![]() |
Schriftliches Dividieren!
Hi Leute,
ich habe mich jetzt drangesetzt und wollte eine Funktion schreiben, die wie man es aus der Schule kennt schriftlich dividiert, sprich mit Strings.
Delphi-Quellcode:
Nur leider funktioniert es nicht. Hat jemand eine funktionierende Funktion, oder wo steckt bei meiner der Fehler?
function Divide(zahl: string; divi: integer): string;
var g: boolean; z,r,t,last: integer; erg: string; begin g := false; z := 0; last := 0; repeat if z = Length(zahl)+1 then begin g := true; end else begin t := StrToInt(zahl[z]); t := t + last; last := 0; if divi > t then begin t := StrToInt(zahl[z] + zahl[z+1]); inc(z); end; if t = 0 then begin erg := erg + '0'; end else begin erg := erg + IntToStr(t div divi); last := t mod divi; end; inc(z); end; until g = true Result := erg; end; MfG, ScorpionKing! |
Re: Schriftliches Dividieren!
dies sollte gehen, deinen Code habe ich nicht durchschaut :roteyes:
Delphi-Quellcode:
function NewDiv (const AZahl: String; ADiv: Integer): String;
var P: Integer; Z,H: Cardinal; begin P := 1; Z := 0; Result := ''; repeat Z := Z*10; if P<=Length(AZahl) then Z := Z+Ord(AZahl[p])-Ord('0'); Inc (P); H := Z div ADiv; Result := Result+IntToStr(H); Z := Z - H*ADiv; until P>Length(AZahl); end; |
Re: Schriftliches Dividieren!
Super Danke! Ich teste es mal!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz