Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
18.11.2001, 14:09
shenZi



also aus einer beliebeigen 3-stelligen zahl soll die querschnittssumme berechnet werden
Quellcode:
var a,b,c,d,e:single;
edit1.text:=FloatToStr(a);
b:=trunc(a/100); //erste zahl
c:=frac(a/100); //zweite zahl
d:=frac(a/10);  //dritte zahl
e:=b+c+d
edit2.text:=StrToFloat(e);

das macht er nich, er bringtr mir dauernd fehler, weiss einer rat??

--

..::Follow the rabbit ::..

zum Seitenanfang zum Seitenende Profil || Suche
001
18.11.2001, 14:35
Another1



var a,b,c,d,e : integer;

b := a div 100;
c := (a-b) div 10;
d := (a-b-c);
e := b+c+d;
das sollte klappen, soweit ich mich erinnern kann

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
002
18.11.2001, 14:40
Tron



aeh... kann es sein dass du da was ganz gruendlich missverstanden hast???

Quellcode:
.var a,b:integer;
.begin
.  a := StrToInt(edit1.text);
.  b := (a DIV 100) + ((a MOD 100) DIV 10) + (a MOD 10);
.  edit2.text := IntToStr(b);
.end;

bin mir nicht 100pro sicher ob es DIV und MOD heisst... (ich programmier nicht in pascal)

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
003
18.11.2001, 15:18
shenZi



es geht doch aber auch mit trunc und frac oder?
wir hatten zumind. die aufgabe das so zu machen

--

..::Follow the rabbit ::..

zum Seitenanfang zum Seitenende Profil || Suche
004
18.11.2001, 22:17
TheTinySteini



Also, zuersteinmal hast du die StrToFloat und so falschrum eingesetzt, wenn überhaupt dann muss das so lauten:
Quellcode:
a := StrToFloat(edit1.text);

b:=trunc(a/100); //erste zahl
c:=frac(a/100); //zweite zahl
d:=frac(a/10);  //dritte zahl
e:=b+c+d;

edit2.text := FloatToStr(e);

Was zwar den Code kompilierbar macht, aber noch lange nicht das richtige Ergebnis liefert =)

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
005
18.11.2001, 22:24
TheTinySteini



So klappt's, is aber extrem umständlich. Die Methode von Tron ist jedenfalls viel besser. Gut, vielleicht kann das mit trunc und frac noch optimieren, aber immerhin, dies hier geht:
Quellcode:
var a,b,c,d,e:single;
begin
a := StrToFloat(edit1.text);

b:=trunc(a/100); //erste zahl
c:=trunc(frac(a/100) * 10); //zweite zahl
d:=trunc(frac(a/10) * 10);  //dritte zahl
e:=b+c+d;

edit2.text := FloatToStr(e);
end;

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
006
19.11.2001, 01:22
Kriz



Querschnittssumme? Watt datt denn? Kenne nur Quersumme =) Is datt watt für AOK-Choppers?

*spam*

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
007
19.11.2001, 15:17
Another1



@Tron: Ich programmier auch nich in pascal, hab nur nen denkfehler drinne, müsste so sein:
b := a div 100;
c := (a-(b*100)) div 10;
d := (a-(b*100)-(c*10));
e := b+c+d;

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
008
19.11.2001, 16:41
Tron



@Another1:
der kommentar mit 'missverstanden' bezog sich auf post 000
ich hatte deinen post nicht gesehen
tschuldigung, wenn da was falsch angekommen ist (:
im uebrigen finde ich deine methode sehr elegant, da sie keine modulos (langsam) verwendet

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
009
19.11.2001, 18:44
shenZi



hmm gestern hatte ich kleinen blackout( StrToFloat <->FloatToStr ...)
mein code is doch eigentlich genau das was du geschrieben hast tiny,bis auf halt das mit StrToFloat.
kann mir jemand mal genau definiern was div und mod machen? ich dachte mod ist z.b 10 mod 100 ->0
und 10 div 100 ->0,1
rundet er bei div eigentlich??
und was genau ist string (z.B.StrToInt)
ach ja sry für die nub fragerei, ich hab halt absolut kein plan

--

..::Follow the rabbit ::..

zum Seitenanfang zum Seitenende Profil || Suche
010
19.11.2001, 19:17
Hanfling



mit DIV kann man auch teilen (integer variablen(ob andere gehen ka)), und mit MOD kriegst du dann was übrig bleiben würde....

--

Nun ist deine Zeit gekommen sprach der Tod, stolperte und brach sich das Genick. :o

zum Seitenanfang zum Seitenende Profil || Suche
011
19.11.2001, 19:46
TheTinySteini



Wenn ich mich richtig entsinne, ist das so:
9 div 6 = 1 (also kein Runden)
9 mod 6 = 3 (also der Rest)
9 / 1 geht meine ich unter Delphi/Pascal nicht, für Integers muss man div nehmen.

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
012
19.11.2001, 19:46
shenZi



ich dachte mit mod bekommt man die vorkommazahl ohne rest ...
*konfus

--

..::Follow the rabbit ::..

zum Seitenanfang zum Seitenende Profil || Suche