//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.