//Programa que lê dois vetores e posteriormente faz algumas alterações;
Program vetores;
uses crt;
var
va,vb:Array[1..10] of Integer;
vc,vd,ve:Array[1..20] of Integer;
i,k,c,val_d:Integer;
igual,achou:Boolean;
Begin
//Criando o primeiro vetor
WriteLN('Criando o vetor a');
For i := 1 to 10 do
Begin
clrscr;
WriteLN('Digite o valor ',i,' do vetor A:');
ReadLN(va[i]);
End;
clrscr;
//Criando o segundo vetor
For i := 1 to 10 do
Begin
clrscr;
WriteLN('Digite o valor ',i,' do vetor B:');
ReadLN(vb[i]);
End;
clrscr;
WriteLN('Vetor A ->');
For i := 1 to 10 do
Write(va[i],' ');
WriteLN;
WriteLN;
WriteLN('Vetor B ->');
For i := 1 to 10 do
Write(vb[i],' ');
WriteLN;
WriteLN;
//Vetor C - União dos vetores A e B sem repetição
For i := 1 to 10 do
vc[i] := va[i];
c := 10;
For k := 1 to 10 do
Begin
achou := False;
For i:=1 to 10 do
Begin
If vb[k] = va[i] then
achou:=true;
End;
If not achou then
Begin
c := c + 1;
vc[c] := vb[k];
End;
End;
WriteLN('A) Uniao A e B(Vetor C) e:');
For i := 1 to 20 do
Begin
If (vc[i] <> 0) and (vc[i-1] <> vc[i]) Then
Write(vc[i],' ');
End;
//Vetor D - Interseção dos vetores A e B
WriteLN;
WriteLN;
val_d := 1;
For i := 1 to 10 do
For k := 1 to 10 do
Begin
If va[i] = vb[k] Then
Begin
vd[val_d] := vb[k];
val_d := val_d + 1;
End;
End;
//Imprimindo Vetor D
WriteLN('B) Intersecao dos vetores A e B(Vetor D) e:');
For i := 1 to 20 do
If (vd[i] <> 0) and (vd[i] <> vd[i-1]) Then
Write(vd[i],' ');
//Vetor E - Elementos que existem no vetor A e não tem no vetor b
For i := 1 to 10 do
Begin
igual := False;
For k := 1 to 10 do
Begin
if va[i] = vb[k] then
Begin
igual := True;
ve[i] := 0;
End;
if (igual = False) and (k = 10) then
ve[i] := va[i];
End;
End;
//Imprimindo Vetor E
WriteLN;
WriteLN;
WriteLN('C) Elementos que existem no vetor A e nao existem no vetor B:');
For i := 1 to 20 do
Begin
If (ve[i] <> 0) and (ve[i] <> ve[i-1]) Then
Write(ve[i],' ');
End;
Readkey;
end.