Conjuntos

Publicado por Leonardo 26/05/2007

[ Hits: 6.854 ]

Download CONJUNTOS.PAS




Este script recebe de entrada 2 vetores com 10 números distintos cada um.

Exibirá na tela a união, diferença e intersecção dos dois vetores.


  



Esconder código-fonte










O programa le dois vetores de dimensao 10 inteiros e distintos,
calcula e exibe a uniao, diferenca e interseccao dos vetores dados.}

program conjunto;
uses crt;

type
 vetor = array [1..20] of integer;

var  {Declaracao de variaveis}
i,n1,n2,n3: integer;
x,y,u,d,int: vetor;


procedure lervet (var a: vetor );

var j:integer;

begin
 for j:=1 to 10 do
  begin
   write (j, '.o elemento: '); {Orientacao ao usuario}
   readln (a[j]);
  end;
end;


procedure escrevet (var a: vetor;o: integer);

var j: integer;

begin
 for j:=1 to o do
  writeln (j, '.o elemento: ', a[j]); {Orientacao ao usuario}
end;


procedure uniao (var c:vetor; a,b:vetor;var m:integer);

var j,k,l,s: integer;

begin
 k:=1;
 s:=0;
 for j:=1 to 10 do
  begin
   c[k]:= a[j];
   k:=k+1;
  end;

 for l:=1 to 10 do
  begin
   for j:=1 to 10 do
    begin
     If b[l] <> a[j] then
      s:=s+1;
    end;
   If s=10 then
    begin
     c[k]:= b[l];
     k:=k+1;
    end;
   s:=0;
  end;
 m:=k-1;
end;


procedure diferenca (var c: vetor; a,b:vetor; var m: integer);

var j,k,l,s: integer;

begin
 k:=1;
 s:=0;
 for j:=1 to 10 do
  begin
   for l:=1 to 10 do
    begin
     If a[j] <> b[l] then
      s:=s+1;
    end;
   If s=10 then
    begin
     c[k]:= a[j];
     k:=k+1;
    end;
   s:=0;
  end;
 m:=k-1;
end;


procedure interseccao (var c: vetor; a,b:vetor;var m:integer);

var j,k,l: integer;

begin
 k:=1;
 for l:=1 to 10 do
  for j :=1 to 10 do
   If b[l]=a[j] then
    begin
     c[k]:= a[j];
     k:=k+1;
    end;
 m:=k-1;
end;

begin
 clrscr; {Comando do Pascal que limpa a tela }
 writeln ('Escreva os elementos do Vetor X');  {Orientacao ao usuario}
 lervet(x);
 writeln; {Comando que pula linha}
 writeln ('Escreva os elementos do Vetor Y'); {Orientacao ao usuario}
 lervet(y);
 writeln; {Comando que pula linha}
 writeln ('Os elementos do Vetor X sao: '); {Orientacao ao usuario}
 escrevet(x,10);
 writeln; {Comando que pula linha}
 writeln ('Os elementos do Vetor Y sao: '); {Orientacao ao usuario}
 escrevet(y,10);
 writeln; {Comando que pula linha}
 writeln ('A uniao dos vetores eh: '); {Orientacao ao usuario}
 uniao(u,x,y,n1);
 escrevet(u,n1);
 writeln; {Comando que pula linha}
 writeln ('Pressione a tecla <Enter> para continuar'); {Orientacao ao usuario}
 readln; {Comando que espera o usuario pressionar Enter para continuar}
 writeln (' A diferencao dos vetores eh: '); {Orientacao ao usuario}
 diferenca (d,x,y,n2);
 escrevet (d,n2);
 writeln; {Comando que pula linha}
 writeln ('A interseccao dos vetores eh: '); {Orientacao ao usuario}
 interseccao (int,x,y,n3);
 escrevet(int,n3);
 readkey;{Comando do Pascal que espera o usuario digitar qualquer tecla para finalizar o programa}
end.


















Scripts recomendados

usando vetor e procedimentos

Gerador de senha Pascal/Lazarus

Número primo

programa pra carregear duas matrizes e achar o maior

media/record


  

Comentários
[1] Comentário enviado por doradu em 09/02/2010 - 17:03h

falta um '{' no primeiro comentario

a saida do programa tá ruim


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts