1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Pascal in C

  • Thunder90
  • 14. Dezember 2010 um 10:58
  • Unerledigt
  • Thunder90
    3
    Thunder90
    Mitglied
    Punkte
    70
    Beiträge
    10
    • 14. Dezember 2010 um 10:58
    • #1

    Hallo
    Habe folgendes unter Pascal Programmiert jedoch soll das in C geschrieben werden kann mir einer helfen?

    interface
    type Value = integer;
    VProc = procedure(v : Value);
    List = ^ElemR;
    ElemR = record
    val : Value;
    next : List;
    end;
    twoLists = record
    l1 : List;
    l2 : List;
    end;
    procedure insertend ( rec : list; var first,last : list );
    function mixsort( var l : list ) : list;
    function merge ( l1, l2 : list ) : list;
    function mix ( l1, l2 : list ) : list;
    function split(l : List) : twoLists;
    function getLenght(l : List) : Value;
    ...
    function getLenght(l : list):integer;
    var counter : longint; // Variableninitialisation
    finish : boolean;
    begin
    finish := false; // Endvariable auf false setzen
    counter := 0; // Zählvariable auf 0 setzen
    while(finish = false) do // solange Ende nicht erreicht
    begin
    if(tail(l) = nil) then finish := true else // Wenn aktuelles Elemement = letztes Element
    l := tail(l); // Erstes Element entfernen und
    counter := counter + 1; // die Zählvariable erhöhen
    end; // while
    getLenght := counter; // die Länge zurückgeben
    end; //getLenght
    procedure insertend ( rec : list; var first,last : list );
    begin
    if first = nil then first := rec else last^.next := rec;
    last := rec;
    end;
    function merge( l1, l2 : list ) : list;
    var first, last, temp : list;
    begin
    first := init;
    last := init;
    while l2 <> nil do
    if l1 = nil then begin l1 := l2; l2 := nil end
    else begin
    if l2^.val > l1^.val then
    begin temp := l1; l1 := l1^.next end
    else begin temp := l2; l2 := l2^.next end;
    temp^.next := nil;
    insertend( temp, first, last )
    end;
    insertend( l1, first, last );
    merge := first
    end;
    function mixsort( var l : list) : list;
    var temp : list;
    listen : twoLists;
    n : integer;
    begin
    n := getLenght(l);
    if (l = nil) then mixsort := nil else if n>1 then
    begin
    listen := split(l);
    mixsort := merge( mixsort( listen.l1 ), mixsort( listen.l2 ));
    end
    else
    begin
    temp := l;
    l := l^.next;
    temp^.next := nil;
    mixsort := temp;
    end
    end;
    function mix (l1, l2: List) : List;
    var tmplst : List;
    begin
    tmplst := merge(l1, l2);
    mix := mixsort(tmplst);
    end; // mix

  • spinball
    11
    spinball
    Mitglied
    Reaktionen
    67
    Punkte
    1.192
    Beiträge
    223
    • 16. Dezember 2010 um 15:25
    • #2

    http://www.garret.ru/ptoc/Readme.htm

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung