Pascal/Turbo Pascal - Consulta sobre vectores

 
Vista:
sin imagen de perfil

Consulta sobre vectores

Publicado por Horacio Daniel (53 intervenciones) el 03/10/2012 03:35:34
Hola a todos, necesito ayuda con este ejercicio que no puedo hacer
3. Realizar un módulo que reciba dos vectores, A y B, de N elementos cada uno, ordenados en forma ascendente y con elementos repetidos dentro del mismo vector. Generar un tercer vector C de N elementos ordenados con los elementos de los vectores A y B. El nuevo vector no debe tener elementos repetidos.
Por ejemplo: este módulo sirve para obtener una lista de productos vendidos en dos sucursales tomando los datos de las ventas efectuadas (en cada sucursal el mismo producto se vende varias veces, y a la vez ese producto se puede vender en ambas sucursales).

Desde ya muchas gracias
Horacio
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Consulta sobre vectores

Publicado por ramon (2158 intervenciones) el 05/10/2012 17:47:07
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
{Servirá esto}
 
program vectores;
  uses
     crt;
   const
      n = 10;
   type
      vecto = array[1..n] of integer;
      vecto1 = array[1..n * 2] of integer;
   var
     a, b : vecto;
        c : vecto1;
 
 
 procedure entradadatos;
 var
   x, y : integer;
 begin
     clrscr;
     writeln('   Vector N§ 1 Elementos = ',n);
     for y := 1 to n do
     readln(a[y]);
     writeln('   Vector N§ 2 Elementos = ',n);
     for x := 1 to n do
     readln(b[x]);
 end;
 
 procedure ordenavectores(v : vecto);
 var
   auxi : integer;
   g, j, u : integer;
  begin
     for g := 1 to n do
       for j := n downto g do
       begin
          if v[g] > v[j] then
          begin
             auxi := v[g];
             v[g] := v[j];
             v[j] := auxi;
          end;
       end;
       clrscr;
       for u := 1 to n do
       writeln(v[u]);
       readln;
  end;
 
  procedure unirvectores(k, l : vecto);
  var
    t, h, j, g : integer;
    auxi : integer;
    copi : vecto1;
    no : boolean;
    begin
       h := 1;
       for t := 1 to n do
       begin
       c[h] := k[t];
       h := h + 1;
       c[h] := l[t];
       h := h + 1;
       end;
      for g := 1 to n * 2 do
       for j := n * 2 downto g do
       begin
          if c[g] > c[j] then
          begin
             auxi := c[g];
             c[g] := c[j];
             c[j] := auxi;
          end;
       end;
         j := 1;
         for g := 1 to n * 2 do
         begin
             no := true;
             for t := 1 to g do
             if copi[t] = c[g] then
             begin
                no := false;
             end;
              if no = true then
              begin
                 copi[j] := c[g];
                 j := j + 1;
              end;
         end;
         for t := 1 to j - 1 do
         writeln('  ',copi[t]);
         readln;
    end;
 
 
 begin
     entradadatos;
     ordenavectores(a);
     ordenavectores(b);
     unirvectores(a,b);
 end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Consulta sobre vectores

Publicado por Horacio Daniel (53 intervenciones) el 05/10/2012 18:09:31
Desde ya gracias por la ayuda y tu tiempo ramon lo habia hecho parecido el tema es que nose como hacer para evitar que alla elementos repetidos sin rellenar con 0 los repetidos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta sobre vectores

Publicado por ramon (2158 intervenciones) el 05/10/2012 21:17:52
Pero no sale ningún cero ya que limpia todos y los o sea los anula.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Consulta sobre vectores

Publicado por Horacio Daniel (53 intervenciones) el 06/10/2012 00:28:30
Eso seria con el procedimiento ordenavectores??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta sobre vectores

Publicado por ramon (2158 intervenciones) el 06/10/2012 13:14:35
Se realiza en el proceso final cuando realiza [unirvectores] que es donde no quieres los repita.
En las otras tienen que estar repetidos si los tuviera.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Consulta sobre vectores

Publicado por Horacio Daniel (53 intervenciones) el 06/10/2012 16:18:26
ah entiendo,gracias nuevamente ramon por tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar