|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 3744 (0xea0) Notes: Mikados TextFile, Mikados_K Names: »SPARSE«
└─⟦d110b5765⟧ Bits:30005308 Eksamensopgave i dynamiske systemer med FFT └─ ⟦this⟧ »SPARSE«
PROGRAM SPARSE; CONST N=40; TYPE NBLPIL=^NBL; KNLPIL=^KNL; NBL= RECORD NB: INTEGER; NEXTNB:NBLPIL; END; KNL= RECORD AN,KN:INTEGER; NAP: NBLPIL; NEXTKN:KNLPIL; END; OUT=PACKED ARRAY (.1..20.) OF CHAR; VAR P2,NXNB,NAP,FINA: NBLPIL; I,S,K,J,TEST:INTEGER; P1,NXKN,FIRST,VH,PIL,HH,PP,HP,VP: KNLPIL; BEGIN WRITELN(CHR(27),CHR(70),CHR(48),CHR(9)); I:=1; K:=1;FIRST:=NIL; WHILE (I<=N) AND (K>0) DO BEGIN WRITELN('KNUDENR ',I:2,'=?','OG ANTAL NABOER?'); READ(K,S); NEW(P1); WITH P1^ DO BEGIN NEXTKN:=FIRST; AN:=S; KN:=K; END; (* WITH P1^ *) FIRST:=P1; FINA:=NIL; FOR J:=1 TO S DO BEGIN WRITELN('INDTAST NR. PAA NABO NR ',J:2); READ(K); NEW(P2); WITH P2^ DO BEGIN NEXTNB:=FINA; NB:=K; END; (* WITH P2^ *) FINA:=P2; END; P1^.NAP:=FINA; I:=I+1; END; WRITELN('INDLAESNINGEN SLUT GOD NAT '); READLN; FIRST:=FIRST^.NEXTKN; VH:=FIRST;PIL:=FIRST^.NEXTKN; HH:=PIL^.NEXTKN; TEST:=PIL^.AN; (*ORDNING EFTER VOKSENDE GRAD*) WHILE (PIL<>NIL) DO BEGIN WRITELN('PIL',PIL^.KN:4,'PP',PP^.KN:4); P1:=FIRST; WHILE (P1^.NEXTKN<>NIL) DO BEGIN WRITELN(P1^.KN:4); P1:=P1^.NEXTKN; END; PP:=FIRST; HP:=FIRST^.NEXTKN; WHILE (PP<>PIL) DO BEGIN IF (TEST>PP^.AN) THEN BEGIN VP:=PP; PP:=HP; HP:=PP^.NEXTKN; END ELSE BEGIN IF (PP=FIRST) THEN BEGIN PIL^.NEXTKN:=FIRST; FIRST:=PIL; VH^.NEXTKN:=HH; END ELSE BEGIN VH^.NEXTKN:=HH; PIL^.NEXTKN:=PP; VP^.NEXTKN:=PIL; END; PIL:=VH; PP:=PIL; END; END; VH:=PIL; PIL:=HH; HH:=PIL^.NEXTKN; TEST:=PIL^.AN; P1:=FIRST;WRITE('NY ORDNING'); WHILE (P1<>NIL) DO BEGIN WRITELN(P1^.KN);P1:=P1^.NEXTKN; END; END; WRITELN(LIST,'KNUDENR NABOER'); P1:=FIRST; WHILE (P1<>NIL) DO BEGIN READLN; WITH P1^ DO BEGIN WRITELN(LIST,KN:2,' '); P2:=NAP; FOR S:=1 TO AN DO BEGIN WITH P2^ DO WRITE(LIST,NB:2,' , '); P2:=P2^.NEXTNB; END END; WRITELN; P1:=P1^.NEXTKN; END END.