|
|
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 - metrics - download
Length: 5056 (0x13c0)
Notes: Mikados TextFile, Mikados_K
Names: »PSPARSE«
└─⟦d110b5765⟧ Bits:30005308 Eksamensopgave i dynamiske systemer med FFT
└─⟦this⟧ »PSPARSE«
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..42.) OF CHAR;
VR=ARRAY(.1..40.) OF INTEGER;
VAR P2,NXNB,NAP,FINA: NBLPIL;
I,S,K,J,TEST:INTEGER;
P1,NXKN,FIRST,VH,PIL,HH,PP,HP,VP: KNLPIL;
v,h,m:char;
NR:ARRAY(.1..40.) OF INTEGER;
PK,pl:out;
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');
J:=1;
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;
NR(J):=KN;
END;
J:=J+1;
WRITELN;
P1:=P1^.NEXTKN;
END;
v:='Ø'; h:='-'; m:='*';
pK:=' ';
PL:=PK;
pl(2):=h; pl(i+1):=h;
writeln(pl);
pl:=PK;
pl(1):=V; pl(i+2):=v;
P1:=FIRST;
WHILE (P1<>NIL) DO
BEGIN
WITH P1^ DO
BEGIN
P2:=NAP;
FOR S:=1 TO AN DO
BEGIN
WITH P2^ DO
PL(ORD(NB)):=M;
P2:=P2^.NEXTNB;
END;
PL(ORD(KN)):=M;
P1:=P1^.NEXTKN;
WRITELN(PL);
END;
PL:=PK;
END;
END.