| ecfisa |
22-09-2014 18:42:21 |
Hola aguml.
Cita:
Empezado por aguml
(Mensaje 481844)
veo que tu usas strings y no usas memoria dinamica como es mi caso...
|
Estoy usando asignación dinámica, fijate las lineas entre comentarios:
Código PHP:
void __fastcall TForm1::Button3Click(TObject *Sender)
{
int rows = CSpinEdit1->Value;
int cols = CSpinEdit2->Value;
/* ------------------------------- */
string **v;
v = new string*[rows];
for(int i = 0; i < rows; i++) v[i] = new string[cols];
/* ------------------------------- */
for(int f = 0; f < rows; f++)
for(int c = 0; c < cols; c++)
v[f][c] = StringGrid1->Cells[c][f].c_str();
random_shuffle(&v[0], &v[rows]);
...
Y tenes razon sobre que solo mezcla las líneas. Hace años que no empleaba esa función y lo había echo sobre arreglos de una dimensión.
Otra duda que tengo es si random_shuffle se comporta como se espera cuando la matriz no es cuadrada... Voy a revisar nuevamente y cualquier novedad te aviso.
Saludos :)
|