Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Паскаль / 2 семестр / ДЗ1 / несколько только в А либо только в Б

.PAS
Скачиваний:
16
Добавлен:
30.04.2013
Размер:
2.11 Кб
Скачать
uses crt;
var Na,nb,nc: integer;
A,B,C:Array [1..20] of integer;
Flag,flag1:boolean;


procedure viv;
begin
clrscr;
writeln('Home Work');
writeln('Shilak Evgenii');
writeln('Grouppa C-21');
writeln('Variant 25');
write('Sformirovat massiv C iz elementov prisytstvyiyshih v neskolkih ekzemplarah libo tolko v massive A,');
write('libo tolko v massive B');
writeln;
end;

procedure Vvod(var mas: array of integer;var n: integer; name:string);
var i:integer;
begin
repeat
writeln('Vvedite chislo elementov massiva ',name,'<=20');
readln(n);
until (n>1) and (n<=20);
Writeln('Elementi massiva ', name,' - celie chisla');
for i:=1 to n do begin
write(name,'[',i,']=');
readln(mas[i]);
end;
end;

procedure vivod(mas: array of integer;n:integer;name: string);
var i:integer;
begin
if (n>=1) then
begin
writeln;
writeln('chislo elementov massiva ', name,' = ', n);
writeln('Massiv ', name);
for i:=1 to n do write(Mas[i]:4);
end
else
begin
writeln;
writeln('Net elementov, udovletvoryaushih usloviu');
end;
end;

procedure Formirovanie (N1,N2: integer; M1,M2: array of integer; var Nc:integer; var C: array of integer);
var
i, j: integer;
begin
for i:=1 to n1 do
begin
Flag:=true;
j:=1;
While (j<=nA) and (Flag=true) do
If (m1[i]=M1[j]) and (J<>I) then
begin
Flag:=false;
end
else
begin
J:=J+1;
end;
for j:=1 to N2 do
if M1[i]=M2[j] then
Flag:=True;
If flag=false then
if nc=0 then
begin
Nc:=Nc+1;
C[Nc]:=m1[i];
end
else
begin
flag1:=true;
j:=1;
while (j<=nc) and(flag1=true) do
begin
if (m1[i]=c[j]) then flag1:=false
else
begin
j:=j+1;
end;
end;
if flag1=true then
begin
nc:=nc+1;
c[nc]:=m1[i]
end;
end;
end;
end;
begin
clrscr;
viv;
Vvod(A,na,'A');
Vvod(B,nb,'B');
Formirovanie(na,nb,A,B,Nc,C);
Formirovanie(nb,na,b,a,Nc,C);
viv;
Vivod(A,na,'A');
Vivod(B,nb,'B');
Vivod(C,nc,'C');
readln;
end.
Соседние файлы в папке ДЗ1