/******************************************************************************
Online C Compiler.
Code, Compile, Run and Debug C program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
int
main ()
{
int felder = 10;
int ignore = 3;
char *cols[felder];
size_t n = 0;
FILE *fp = fopen ("list.txt", "r");
FILE *fp2 = fopen ("nodup.txt", "a");
if (fp == NULL)
{
perror ("Unable to open file!");
exit (1);
}
char *line2 = NULL;
size_t len = 0;
clock_t begin = clock ();
/* here, do your time-consuming job */
while (getline (&line2, &len, fp) != -1)
{
n = 0;
if (len > felder)
for (char *p = strtok (line2, ";"); p; p = strtok (NULL, ";"))
{
if (n < ignore + 1)
fprintf (fp2, "%s;", p);
else if (n > ignore && n < felder+1)
{
for (int x = n - 1; x > ignore - 1; x--)
{
if (strcmp (cols[x], p) == 0)
break;
else if (x < ignore + 1)
fprintf (fp2, "%s", p);
}
fprintf (fp2, ";");
}
cols[n++] = p;
if (n > felder - 1)
break;
}
fprintf (fp2, "\n");
}
clock_t end = clock ();
double time_spent = (double) (end - begin) / CLOCKS_PER_SEC;
printf ("%f\n", time_spent);
return 0;
}
xx1;xx7;xx4;xx0;xx9;xx4;xx8;xx8;xx2;xx4;
xx5;xx5;xx1;xx7;xx1;xx1;xx5;xx2;xx7;xx6;
xx1;xx4;xx2;xx3;xx2;xx2;xx1;xx6;xx8;xx5;
xx7;xx6;xx1;xx8;xx9;xx2;xx7;xx9;xx5;xx4;
xx3;xx1;xx2;xx3;xx3;xx4;xx1;xx1;xx3;xx8;