Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-03-2012
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Ya tienes la respuesta, llena la matriz con los números por parejas. Digamos que llenas la matriz dentro de una sentencia FOR que tendrá n / 2 ciclos, donde n es el número de elementos de la matriz que siempre deberá ser par.

Tomando tu ejemplo la matriz quedaría de esta forma:

1 1 2
2 3 3

Ahora los mezclas en otro ciclo con x repeticiones.

Aquí la idea es tomar dos elementos de la matriz de forma aleatoria digamos [1,1] y [2,2], los intercambias quedando así.


3 1 2
2 1 3

Si esto lo repites muchas veces todos los elementos quedarán en posiciones aleatorias (revueltos).

Saludos
Responder Con Cita
  #2  
Antiguo 07-03-2012
Jusar Jusar is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 17
Poder: 0
Jusar Va por buen camino
Hasta el momento lo que tengo es esto codigo pero no logro eso siempre me puede generar o tres 1 o tres 0 o cuatros 1 o 0...

Código Delphi [-]
void __fastcall TForm1::Button1Click(TObject *Sender)
{
     int mat[2][2];
     for (int i=0;i<2;i++)
         for (int j=0;j<2;j++)
             mat[i][j]= 0;

     int w=0;
     for (int i=0;i<2;i++)
     {
         for (int j=0;j<2;j++)
         {
             int x = random(2);
             for (int a=0;a<2;a++)
             {
                 for (int b=0;b<2;b++)
                 {
                     if ( mat[a][b] == x)
                        w++;
                 }
             }
             if (w<2)
             {
                mat[i][j]=x;
                w=0;
             }
         }
     }

     Label1->Caption=mat[0][0];
     Label2->Caption=mat[0][1];
     Label3->Caption=mat[1][0];
     Label4->Caption=mat[1][1];

}
Responder Con Cita
  #3  
Antiguo 08-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Jusar.

Primero que nada felicito a Hector por su poder de interpretación

Entonces, más o menos sería:
Código:
const MAXFIL = 2;
const MAXCOL = MAXFIL+1;

int Matriz[MAXFIL][MAXCOL];

void Cargar(int (*m)[MAXCOL])
{
  for(int f=0; f < MAXFIL; f++)
   for(int c=0; c < MAXCOL; c++) {
      m[c][f] = c+1;
      m[c][f+1] = c+2;
    }
}

void Mezclar(int (*m)[MAXCOL])
{
TSmallPoint a,b;
int tmp;
  for (int i=0; i < 100; i++) {
    a.x = random(MAXCOL);
    b.x = random(MAXCOL);
    a.y = random(MAXFIL);
    b.y = random(MAXFIL);
    tmp = Matriz[a.x][a.y];
    m[a.x][a.y] = m[b.x][b.y];
    m[b.x][b.y] = tmp;
  }
}

void Mostrar(TMemo *M)
{
AnsiString s;
  for(int f=0; f < MAXFIL; f++) {
    s = "";
    for(int c=0; c < MAXCOL; c++)
      s = s + IntToStr(Matriz[c][f])+ ' ';
    M->Lines->Add(s);
  }
}

void __fastcall TForm1::FormCreate(TObject *Sender)
{
 Cargar(Matriz);
 Memo1->Clear();
 Memo1->ScrollBars = ssVertical;
 Memo1->Lines->Add("Estado inicial");
 Memo1->Lines->Add("-----------------");
 Mostrar(Memo1);

}

void __fastcall TForm1::btnShowClick(TObject *Sender)
{
 Mezclar(Matriz);
 Memo1->Lines->Add("-----------------");
 Mostrar(Memo1);
}
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
clase estatica D7 FelixInasa OOP 13 17-02-2011 10:48:11
fuzzy implementado en delphi ljrg Varios 4 14-10-2010 15:10:57
variable estatica no muere con el form !!!!!!!!!!! david_uh Varios 5 28-07-2007 00:51:14
.NET es Java pero bien diseñado y mejor implementado roman Noticias 14 22-02-2007 20:43:08
Algoritmo Huffman Implementado En Delphi vespita Internet 8 01-06-2006 18:10:54


La franja horaria es GMT +2. Ahora son las 11:24:41.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi