Pascal/Turbo Pascal - primitiva

 
Vista:
sin imagen de perfil

primitiva

Publicado por marios (58 intervenciones) el 27/04/2014 22:02:31
hola ramon me podrias ayudar con estas inquietudes...
Imaginemos que escogemos 7 números de la lotería primitiva. Y para facilitar el ejemplo, serían del 1 al 7. La máximas combinaciones posibles, son 7:

01,02,03,04,05,06
01,02,03,04,05,07
01,02,03,04,06,07
01,02,03,05,06,07
01,02,04,05,06,07
01,03,04,05,06,07
02,03,04,05,06,07

Ahora bien, que tipo de vector o matriz, se necesita para crear estas. Luego, aparte, debería crear el algoritmo para que no se repitieran las combinaciones. Pero bueno, ese ya es otro asunto.

Pensaba que se puede crear un vector tipo
comb_1[1..6]
comb_2[1..6]
...
comb_7[1..6]

Pero claro, si salen 1000 combinaciones distintas no es lógico definir 1000 vectores ¿No...? Supongo que debe haber otro sistema. No sé si será con matrices bidimensionales o multidimensionales.

El algoritmo debe detectar si ha salido la combinación anterior. Y claro, para eso, el uso de vectores es lo más lógico, creo...

Saludos!
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

primitiva

Publicado por ramon (2158 intervenciones) el 29/04/2014 00:50:31
{Mira la mejor manera es una matriz de 7x7 para los 7 números que dices eso seria algo así}

tableta : array[1..7,1..7] of integer;

{con ello tienes los 49 números que necesitas si necesitas un pequeño ejemplo te lo paso}
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

primitiva

Publicado por marios (58 intervenciones) el 29/04/2014 12:32:13
si claro Ramon pasame el ejemplo por favor y como hago para que no se repitan las combinaciones, muy agradecido Ramon
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

primitiva

Publicado por Belén (1 intervención) el 26/12/2014 10:59:00
puedes poner el ejemplo de la primitiva resuelto?Gracias
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

primitiva

Publicado por ramon (2158 intervenciones) el 26/12/2014 12:37:00
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
{Mira un ejemplo para que empieces tu juego }
 
 program primiti;
   uses
      crt;
 
   const
    max = 7;
 
  type
    primitiva = array[1..max,1..max] of integer;
 
  var
    laprim : primitiva;
    l, t, num : integer;
 
   function numero : integer;
   begin
      numero := random((max * max) * 2) * 1;
   end;
 
   procedure rellenaprimitiva(var pri : primitiva);
   var
     temp : array[1..(max * max)] of integer;
     no : boolean;
     p : integer;
   begin
      l := 1;
    repeat
       repeat
        num := numero;
        no := true;
      for t := 1 to (max * max) do
      begin
        if temp[t] = num then
        no := false;
      end;
      until no = true;
      temp[l] := num;
      l := l + 1;
    until l > (max * max);
    l := 1;
    p := 1;
    for t := 1 to (max * max) do
    begin
       pri[p,l] := temp[t];
       p := p + 1;
       if p > max then
       begin
       p := 1;
       l := l + 1;
       end;
     end;
   end;
 
 
 
 
  begin
      clrscr;
      randomize;
      rellenaprimitiva(laprim);
      for l := 1 to max do
        for t := 1 to max do
        begin
           gotoxy(t * 3,l * 2);write(laprim[t,l]);
        end;
      readkey;
  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