C me molesta con su manejo de cadenas. Tengo un pseudocódigo como esto en mi mente:Encontrar elementos únicos en una matriz de cadenas en C
char *data[20];
char *tmp; int i,j;
for(i=0;i<20;i++) {
tmp = data[i];
for(j=1;j<20;j++)
{
if(strcmp(tmp,data[j]))
//then except the uniqueness, store them in elsewhere
}
}
Pero cuando codifiqué esto, los resultados fueron malos (que manejé todo el material de memoria, pequeñas cosas, etc.) El problema está en el segundo bucle, obviamente:. D . Pero no puedo pensar en ninguna solución. ¿Cómo encuentro cadenas únicas en una matriz?
Ejemplo de entrada: abc def abe abc def deg ingresado únicos: abc def abe deg se debe encontrar.
La ordenación de la matriz primero le llevará un largo camino. A continuación, simplemente itere sobre las cadenas, y si la cadena actual difiere de la cadena anterior, es única y puede almacenarla en otro lugar. – WhirlWind
el problema es que necesito las ubicaciones exactas. Usted sabe como en esto: entrada: abc def abe abc def deg ingresado únicos: abc def abe deg si ordeno la matriz obtendré unos únicos así: abc abe def deg Esto no es lo que quiero también necesito las ubicaciones. – LuckySlevin
A continuación, cree una matriz de punteros o una matriz de índices de matriz en la matriz inicial que ordene, en lugar de ordenar la matriz inicial. – WhirlWind