[PASCAL] String manipulieren

Nabend zusammen!
Ich habe ein Problem, undzwar bringe ich mir gerade Pascal bei (nein, das war noch nicht das Problem) und habe mir dafür ein paar Aufgaben zusammengesucht. Problem ist, keine von denen hat eine Lösung gegeben. Nun hab ich sie dennoch alle lösen können bis auf eine - Strings manipulieren.
Im grunde muss ich den Text "Drei Chinesen mit 'nem Kontrabass, saßen auf der Straße und erzählten sich was" so umformen dass alle Vokale durch andere Vokale getauscht werden. Nun weiß ich wie ich in etwa mit Chr und Ord umgehe, aber ich kann diese Aufgabe ums verrecken nicht lösen. Kann mir jemand helfen?

gruss
Christian
 
Also mir fallen gerade diese beiden möglichkeiten ein. Entweder du sagst dem String tauschen an der Stelle xy das a durch ein i. Oder du machst das ganze flexibler und baust eibe Schleife die den String nach Vokalen durchsucht und die dann austauscht. Sollte dann so aussehen. Überprüfe Stelle 1 im String, falls Stelle 1 == "A" oder "U" ..., ersetze durch "sonstigen Buchstaben", falls nicht gehe zur Stelle 2 und so weiter. Hoffe du hast verstanden was ich damit meine, kann aber halt kein Pascal :P
 
Du kannst mit "meinstring" auf die einzelnen Buchstaben zugreifen.
bsp:
Code:
program schweineleitein;
uses crt;

var eingabe               : string[80];
    i :integer;
    buchstabe :char;

begin
  readln(eingabe);
  for i:=1 to length(eingabe) do
    begin
       buchstabe:=eingabe[i];
       case buchstabe of
         'a':eingabe[i]:='o';
         'o':eingabe[i]:='a';
       end;

    end;
   writeln(eingabe);
   readln;

end.

OT: verdammt, die Hauptshortcuts von TP7 sind immer noch fest verankert (gerade "vollautomatisch" nach dem Tippen per F2 Code gespeichert und mit STRG+F9 ausgeführt - gelernt ist wohl gelernt :) ).
 
Original von CDW
OT: verdammt, die Hauptshortcuts von TP7 sind immer noch fest verankert (gerade "vollautomatisch" nach dem Tippen per F2 Code gespeichert und mit STRG+F9 ausgeführt - gelernt ist wohl gelernt :) ).

:D Ich versuch das immer, wenn ich php im Texteditor programmiere.

Wenn das mit dem Buchstaben direkt nicht geht, kannste da in der Case-Anweisung auch die Or(Buchstabe) nehmen.

MfG
freak
 
Code:
var i:integer;
      v:array[0..4] of string;
      MyString:string;
      new:string;

begin
 MyString:='Drei Chinesen mit nem Kontrabass ... uswusf';

 v[0]:='a';
 v[1]:='e';
 v[2]:='i';
 v[3]:='o';
 v[4]:='u';

 new:='[ersetzen durch gewünschten vokal]';

 for i:=0 to 4 do
  StringReplace(MyString,v[i],new,[rfReplaceAll, rfIgnoreCase]);
end.

Strings ersetzen
 
Zurück
Oben