¿Cómo puedo eliminar un elemento de una matriz (unidimensional bidimensional)? - página 3

 
No es exactamente lo mismo. Pero la mejor opción para las matrices bidimensionales es utilizar una estructura. Y entonces es más fácil trabajar con matrices dentro de él.
struct SA
{
     int i[], j[];
} A[];
 
Alexey Viktorov:
Todavía no han descubierto cómo hacer el compilador directamente en el sitio del foro.

Es más rápido abrir el compilador y probarlo que escribir un post sobre algo que aún no se ha inventado en el sitio. Aunque está claro que has contestado sin entender la pregunta, y ahora sólo quieres salirte del tema.

 
Ilya Malev:

Es más rápido abrir el compilador y probarlo que escribir un post sobre algo que aún no se ha inventado en el sitio. Aunque está claro que has contestado sin entender la pregunta, y ahora sólo quieres salirte del tema.

Sí, piensa en lo que te viene a la cabeza. Que te vaya bien.

 
Konstantin Nikitin:
No exactamente. Pero la mejor opción para las matrices bidimensionales es utilizar una estructura. Y entonces se hace más fácil trabajar con arrays dentro de él.

¿Y si la matriz es cuatridimensional?

 
Cuando hago matemáticas con mi nieta, no centro su atención en la resolución de problemas, ni siquiera en los algoritmos para resolverlos, sino en la esencia de la que surgieron esos problemas.
 
Алексей Тарабанов:

¿Y si la matriz es cuatridimensional?

No me importa si son 20. Todo depende del número de estructuras.
Aquí hay un ejemplo de trabajo de mi código.

struct SIndicator
{
     int  id;
     char array[];
};
//+------------------------------------------------------------------+
struct SPositions
{
     double              price;
     ENUM_ORDER_TYPE     type_positiot;
     SIndicator          indicators[];
};
 
int a[][2]={1,2,11,12,21,22};
ArrayCopy(a,a,2,4);// работаем как с одномерным
ArrayResize(a,ArrayRange(a,0)-1);  
 
Konstantin Nikitin:

Puedes tener hasta 20. Todo depende de la cantidad de estructuras que haya.
Aquí hay un ejemplo de trabajo de mi código.

No programo en lenguajes OOP. De hecho, no programo en absoluto, sólo hago pinitos.

Al mismo tiempo, el problema de eliminar un elemento de un array con cualquier número de dimensiones en MT ya se puede resolver hace unos 35 años en PL/1, cuando no existía MT, pero sí los cuatro modos de gestión de memoria en PL/1.

Pista: los arrays en MT son estáticos.

 

Dmitry Fedoseev:

// работаем как с одномерным

Es una pena que la frase "trabajar como unidimensional" no se refiera a las firmas de los métodos, de lo contrario sería realmente sencillo.

 
Ilya Malev:

Es una pena que la frase "trabajar como unidimensional" no se refiera a las firmas de los métodos, de lo contrario sería realmente sencillo.

¿Qué métodos? ¿Qué firmas?

ArrayCopy() no funciona con estructuras. Pero sí funciona con punteros. Tendré que probarlo.