PROGRAM TANZPAAR (IN,OUT); CONST N=10;MAX=20; TYPE STRING=ARRAY [1..MAX] OF CHAR; LISTE=ARRAY [1..N] OF STRING; PAAR=ARRAY [1..N] OF INTEGER; VAR NAME:LISTE; I,ANZAHL:INTEGER; P:PAAR; PROCEDURE TAUSCHE (VAR X,Y:INTEGER); VAR HILF:INTEGER; BEGIN HILF:=X;X:=Y;Y:=HILF; END; FUNCTION ZUFALL (VON,BIS:INTEGER):INTEGER; BEGIN ZUFALL:=TRUNC (RANDOM*(BIS-VON))+1+VON; END; PROCEDURE MISCHEN (VAR P:PAAR); VAR I,WAHL:INTEGER; BEGIN FOR I:=1 TO N-1 DO BEGIN WAHL:=ZUFALL(I,N); TAUSCHE(P[I],P[WAHL]); END; END; PROCEDURE TREAD(VAR TEXT:STRING); VAR I:INTEGER; BEGIN I:=1; REPEAT READ(TEXT[I]); I:=I+1; UNTIL EOLN OR (I=MAX); TEXT[I]:="@"; END; PROCEDURE TWRITE (VAR TEXT:STRING); VAR I:INTEGER; BEGIN I:=1; REPEAT WRITE(TEXT[I]); I:=I+1; UNTIL TEXT[I]="@" END; (*==========Hauptprogramm==========*) BEGIN WRITE("WIEVIELE PAARE SIND VORHANDEN");READLN;READ(ANZAHL); FOR I:=1 TO ANZAHL DO BEGIN WRITE("NAME DES ",I:3,".PAARES"); READLN;TREAD(NAME[I]) END; FOR I:=1 TO ANZAHL DO P[I]:=I; MISCHEN(P); FOR I:=1 TO ANZAHL DO BEGIN WRITE("HERR ");TWRITE(NAME[I]);WRITE(" TANZT MIT FRAU "); TWRITE(NAME[P[I]]);WRITELN; END; END.