1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

[Prolog] Zeilenweise einlesen

Dieses Thema im Forum "Sonstige Sprachen" wurde erstellt von Heinzi1991, 6. Januar 2015.

  1. Heinzi1991

    Heinzi1991 Erfahrenes Mitglied

    Hallo liebe Community,

    Ich muss in Prolog eine .grf Datei einlesen und dessen Zeilen in eine Liste packen. Also die Inputdatei schaut so aus:

    Code (Text):
    1. 0 1 0 0 0 0 0 0 0
    2. 1 0 0 1 0 0 1 1 0
    3. 0 0 0 0 0 1 0 0 0
    4. 0 1 0 0 1 0 0 1 0
    5. 0 0 0 1 0 1 0 1 1
    6. 0 0 1 0 1 0 0 0 1
    7. 0 1 0 0 0 0 0 1 0
    8. 0 1 0 1 1 0 1 0 1
    9. 0 0 0 0 1 1 0 1 0
    Nun muss meine Ausgabe so ausschauen:

    Code (Text):
    1. {{0 1 0 0 0 0 0 0 0},
    2. {1 0 0 1 0 0 1 1 0},
    3. {0 0 0 0 0 1 0 0 0},
    4. {0 1 0 0 1 0 0 1 0},
    5. {0 0 0 1 0 1 0 1 1},
    6. {0 0 1 0 1 0 0 0 1},
    7. {0 1 0 0 0 0 0 1 0},
    8. {0 1 0 1 1 0 1 0 1},
    9. {0 0 0 0 1 1 0 1 0}}
    Also eine Zeile muss eine Liste sein und die gesamten Listen müssen in einer ganz großen Liste stehen.
    Zurzeit habe ich nur ein Programm, dass die jede einzelne Zeile in eine Liste packt, aber dieser Code funktioniert auch nicht, den Prolog haut mir diese Fehlermeldung raus:

    ERROR: demograph.grf:9:16: Syntax error: Unexpected end of file

    Hier ist mein Code:

    Code (Text):
    1. file_to_list(FILE,LIST) :-
    2.    see(FILE),
    3.    inquire([],R), % gather terms from file
    4.    reverse(R,LIST),
    5.    seen.
    6.  
    7. inquire(IN,OUT):-
    8.    read(Data),
    9.    (Data == end_of_file ->   % done
    10.       OUT = IN
    11.         ;    % more
    12.       inquire([Data|IN],OUT) ) .
    Hoffe es kann mir jemand einen Denkanstoß geben! Vielen Dank schon im voraus.
     
Die Seite wird geladen...