Anzeige

 [Prolog] Zeilenweise einlesen

Heinzi1991

Erfahrenes Mitglied
#1
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:
0 1 0 0 0 0 0 0 0
1 0 0 1 0 0 1 1 0
0 0 0 0 0 1 0 0 0
0 1 0 0 1 0 0 1 0
0 0 0 1 0 1 0 1 1
0 0 1 0 1 0 0 0 1
0 1 0 0 0 0 0 1 0
0 1 0 1 1 0 1 0 1
0 0 0 0 1 1 0 1 0
Nun muss meine Ausgabe so ausschauen:

Code:
{{0 1 0 0 0 0 0 0 0},
{1 0 0 1 0 0 1 1 0},
{0 0 0 0 0 1 0 0 0},
{0 1 0 0 1 0 0 1 0},
{0 0 0 1 0 1 0 1 1},
{0 0 1 0 1 0 0 0 1},
{0 1 0 0 0 0 0 1 0},
{0 1 0 1 1 0 1 0 1},
{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:
file_to_list(FILE,LIST) :-
   see(FILE),
   inquire([],R), % gather terms from file
   reverse(R,LIST),
   seen.

inquire(IN,OUT):-
   read(Data),
   (Data == end_of_file ->   % done
      OUT = IN
        ;    % more
      inquire([Data|IN],OUT) ) .
Hoffe es kann mir jemand einen Denkanstoß geben! Vielen Dank schon im voraus.
 
Anzeige

Neue Beiträge

Anzeige