Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 23-09-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
Amigo asi lo he dejado:
Código PHP:
void __fastcall TFormPrincipal::ButtonBarajarMatrizClick(TObject *Sender)
{
        
//En este form pedimos el numero de columnas y filas
        
FormDimension->ShowModal();

        
//Obtenemos memoria para nuestro array
        
v = new int*[filas];
    
v[0] = new int[filas * columnas];
    for(
int i = 1; i < filas; i++)
        
v[i] = v[0] + i * columnas;

        
//En este form rellenamos el array
        
FormRellenado->ShowModal();

        
String s;

        
Memo1->Lines->Clear();
        
Memo1->Lines->Add("Matriz original");

        
//Mostramos el array original
        
for(int f = 0; f < filas; f++) {
                
s = "";
                for(
int c = 0; c < columnas; c++)
                        
s = s + String(v[f][c]) +",";
                
Memo1->Lines->Add(s);
        }
        
Memo1->Lines->Add("");
        
Memo1->Lines->Add("Matriz modificada");

        
//Barajamos los valores del array
        
random_shuffle(&v[0][0], &v[filas-1][columnas]);

        
//Mostramos el array barajado
        
for(int f = 0; f < filas; f++) {
                
s = "";
                for(
int c = 0; c < columnas; c++)
                        
s = s + IntToStr(v[f][c]) +",";
                
Memo1->Lines->Add(s);
        }

        
//Liberamos la memoria del array
        
delete [] v[0];
        
delete [] v;
} 
Funciona perfecto y ya he entendido como hace para que la memoria sea contigua. Lo que hace es que a la primera fila le asigna la memoria necesaria para todo el array y luego trabaja con el como siempre y así tenemos toda la memoria correlativa.
Una duda que tengo es si la liberacion de memoria es correcta como la hago o dejo parte sin liberar.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Funciona en C++ Builder 6 y no en C++ Builder XE dmartinezn C++ Builder 1 07-05-2012 21:08:42
.DBP con c++ builder 6 LuisMiguel C++ Builder 2 22-03-2012 21:34:46
c++ builder anoniboxx C++ Builder 3 29-04-2010 21:17:36
SQL Builder josevaldez Conexión con bases de datos 0 14-07-2005 14:58:00
Builder X Sonic C++ Builder 1 22-12-2004 16:59:48


La franja horaria es GMT +2. Ahora son las 09:55:17.


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