Registriert seit: 16. Mai 2021
59 Beiträge
Delphi 10.3 Rio
|
AW: Erstellung einer Funktion
3. Jun 2021, 16:18
Ich habe die anderen Funktionen bis zu der oben genannten schonmal erstellt, bin dann bei der Funktion hängen geblieben.
Der String der der Funktion übergeben wird wäre z.B. 123Hallo65378
Delphi-Quellcode:
{$APPTYPE CONSOLE}
{$R+,Q+,X-}
uses
System.SysUtils;
var
s : string;
function countDigits(s : string) : byte;
var run , number : byte;
begin
number := 0;
for run := 1 to length(s) do
begin
case s[run] of
' 0'..' 9' : inc(number);
end;
countDigits := number;
end;
end;
function countEvenDigits(s : string) : byte;
var run , number : byte;
begin
number := 0;
for run := 1 to length(s) do
begin
case s[run] of
' 0',' 2',' 4',' 6',' 8' : inc(number);
end;
countEvenDigits := number;
end;
end;
function countOddDigits(s : string) : byte;
var run , number : byte;
begin
number := 0;
for run := 1 to length(s) do
begin
case s[run] of
' 1',' 3',' 5',' 7',' 9' : inc(number);
end;
countOddDigits := number;
end;
end;
function countNonDigits(s : string) : byte;
var run, number : byte;
begin
number := length(s);
for run := 1 to length(s) do
begin
case s[run] of
' 0'..' 9' : dec(number);
end;
countNonDigits := number;
end;
end;
function longestNumber(s : string) : word;
var run , number : byte;
zifferGefunden : boolean;
begin
number := 0;
zifferGefunden := FALSE;
for run := 1 to length(s) do
begin
end;
longestNumber := number;
end;
begin
write(' Bitte satz eingeben');
readln(s);
writeln(' Ziffern: ',countDigits(s));
writeln(' gerade Ziifern: ',countEvenDigits(s));
writeln(' ungerade Ziffern: ',countOddDigits(s));
writeln(' zählt keine Ziffern von 0 bis 9: ',countNonDigits(s));
readln;
end.
procedure deleteDigits( var s : string);
procedure printInfos(s : string);
|
|
Zitat
|