Estou tentando resolver um exercício onde o usuário digite em uma única string vários produtos e o programa deve separar esses produtos cada um em uma posição na string e depois deletar os repetidos e imprimi-los em ordem alfabética, eu consegui fazer a primeira parte, receber um input do usuário e guardar cada produto digitado em uma posição do array, mas não estou sabendo apagar os produtos repetidos, como faço para encontrar eles e apaga-los do array? (creio que deve ser usando for eninhados) Meu código esta assim ate agora:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
char *list[1000];
char input[1000];
printf("Type:\n"); //test
scanf("%999[^\n]", &input);
int count = 0;
char* split = strtok(input, " ");
while (split != NULL)
{
list[count] = split;
count++;
split = strtok(NULL, " ");
}
for (int i = 0; i < count; i++)
{
}
for (int p = 0; p < count; p++){
printf("%s\n", list[p]);
} //test
return 0;
}