Listenoperationen < Pascal < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 12:32 Mi 29.03.2006 | Autor: | DAB268 |
Hallo.
Erstellt die unten genannte Funktion aus einer Liste 1-2-3-4-5-6 die Liste 2-4-6? Also kopiert jedes 2. Element in die Liste?
MfG
DAB268
function copy2(l:list):list
begin
if l=nil then f=nil
else
if l^.next=nil then f=nil
else
copy2:=gennode(l^.next^.x,copy2(l^.next^.next));
end;
|
|
|
|
Hallo,
also erstens nein, zweitens dein Programmstück ist kein gültiger Pascal-Code, da f=nil keine Anweisung/Statement ist und nirgends f deklariert wurde.
--
Gruß
Matthias
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 13:53 Mi 29.03.2006 | Autor: | DAB268 |
> Hallo,
>
> also erstens nein
Bitte genauer.
> zweitens dein Programmstück ist kein
> gültiger Pascal-Code, da f=nil keine Anweisung/Statement
> ist und nirgends f deklariert wurde.
Ok, da hab ich Mist beim refactorn gebaut. Sollte so aussehen:
function copy2(l:list):list
begin
if l=nil then copy2:=nil
else
if l^.next=nil then copy2:=nil
else
copy2:=gennode(l^.next^.x,copy2(l^.next^.next));
end;
Weiteres zur Erklärung: list wurde vorher als DatenTyp definiert, gennode erzeugt einen neuen Knoten dieser Liste nach dem Prinzip(Knoten, Restliste)
Wenbn de rCode dafür noch benötigt wird bitte sagen.
>
> --
> Gruß
> Matthias
|
|
|
|
|
Hallo,
so sollte das klappen ...
Ich sehe momentan keinen Fehler mehr.
Du kannst solche Fragen Dir aber auch ganz einfach von dem Computer beantworten lassen, indem Du Dir einen Pascal Compiler besorgst. Es gibt davon mittlerweile auch mehrere freie. Zum Beispiel gibt es den gpc (GNU Pascal Compiler), der ISO-Pascal und auch den "eigentlich Standard" Turbo/Borland Pascal unterstützt.
--
Gruß
Matthias
|
|
|
|