Preciso de uma ajuda em um código pré criado, necessito que uma string de char com caracteres de números e ' , ' (virgula) (por exemplo: '0,0,1,2,63,1,0,63,12') NÃO contenha mais nenhum carácter repetido a não ser a virgula, q fique por exemplo: '0,1,2,63,12'
O código até o momento não realoca o vetor no espaço do numero antigo encontrado, apenas armazena uma virgula la deixando por exemplo: '0,,,1,2,63,,,,,,,,12'. Porém não está rodando, precisava fazer com que pelo menos essa parte que eu escrevi seja funcional, poderiam me ajudar a achar o erro? estou quebrado a cabeça há mt tempo
aqui esta o código:
void verificaRep(char vetor[], int tamanhovet){ //verifica repetições (referenciando por ,)
char comp1[100], comp2[100];
int i=0, j=0, k=0, l=0, m=0, n=0, tam1=0, tam2=0, verifica=0;
for(i=0;i<tamanhovet;i++){ //percorre todo o vetor
while(vetor[i]!=','){
comp1[j]=vetor[i]; //armazena o estado a ser comparado
j++;
tam1++;
i++;
}
for(l=i; l<tamanhovet; l++){
l++; //incrementa porque tem a virgula
while(vetor[l]!=','){ //adiciona um novo estado para ser comparado
comp2[m]=vetor[l];
l++;
tam2++; //tamanho a ser verificado
m++;
}
tam2=strlen(comp2);
if(tam1==tam2){ //se eles tem o mesmo tamanho
for(n=0;n<tam1;n++){ //percorre o tamanho da casa do vetor a ser comparado
if(comp1[n]==comp2[n]){ //se sao iguais as comparaçoes
verifica++; //a aux verifica incrementa
}
}
if(verifica==tam1){ //se o tamanho deles é igual a aux verifica
vetor[i]=',';
}
}
}
}
}