Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Problem in Pascal! (https://www.delphipraxis.net/10902-problem-pascal.html)

Sofa5000 27. Okt 2003 17:31


Problem in Pascal!
 
Ich habe ein neue Aufgabenstellung zum lösen!

Es soll ein Text vom Benutzer eingegeben werden (Abbruch mit #). Anschließend wird die Gesamtlänge des Textes sowie die Anzahl der jeweiligen Vokale ausgegeben.

Wie kann ich das machen?

Ich habe mal so angefangen

Delphi-Quellcode:
var ch:char;
    anz:integer;
begin
     i:=-1;
     repeat
           ch:=readkey;
           write(ch);
           anz:=anz+1;
     until (ch = '#');
     writeln;
     writeln('Die Länge des Textes beträgt ' ,anz , ' Zeichen');
end.
Aber es soll zusätzlich noch ausgegeben werden das es 8 A waren und 7 X und so weiter! wie kann ich das machen?

[edit=r_kerber]Delphi-Tags eingefügt. Mfg, r_kerber[/edit]

lordcroc 27. Okt 2003 17:40

Re: Problem in Pascal!
 
Hallo,

am besten machst du dir ein Array von A-Z vom typ integer und inkrementierst das array an der Stelle CH um 1. Danach lässt du die alle Werte in einer Schleife ausgeben.

mfg

r_kerber 27. Okt 2003 17:42

Re: Problem in Pascal!
 
Hallo Sofa5000,

zunächst eine Bitte: Verwende das nöchste mal die Delphi-Tags. Dadurch wird der Quellcode besser lesbar.

Zu Deiner Frage: Verwende ein Integerfeld, in dem Du die Anzahl der der Buchstaben mitzählst.

Predator 27. Okt 2003 17:42

Re: Problem in Pascal!
 
hmm ich bin zwars auch noch Delphi Anfänger aber ich glaub das machst du wenn du den Text mit einer for Schleife durchläufst und dabei überprüfts ob das Zeichen ein A bzw. ... Z ist und setzt eine Variable immer um 1 hoch.

z.B. so:

Delphi-Quellcode:
for I:= 1 to length(ch) do
begin
if ch[I] <> 'A' then
Inc(count);
end;

Hansa 27. Okt 2003 17:44

Re: Problem in Pascal!
 
Zitat:

Zitat von Sofa5000
var ch:char;
anz:integer;
begin
i:=-1;
repeat
ch:=readkey;
write(ch);
anz:=anz+1;
until (ch = '#');
writeln;
writeln('Die Länge des Textes beträgt ' ,anz , ' Zeichen');
end.

Aber es soll zusätzlich noch ausgegeben werden das es 8 A waren und 7 X und so weiter! wie kann ich das machen?

Da sind schon einige Hämmer drin: i ist nicht deklariert, höchstens globaler, was aber keinen Sinn macht. anz ist nicht initialisiert. Ich vermute mal, daß das ganze auf ein Array hinauslaufen soll, wobei jedem Buchstaben die Anzahl der Vorkommnisse zugeordnet werden soll.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 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