
//read integers from in.txt
//to a dynamic array
//sort by bubble sort
//write to out.txt file
//written by sadi evren seker
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int ReadFile(char *s, int *n);
void SortArray(int *n, int k);
bool WriteFile(char *s, int* n, int k);
int CountFile(char *);

int main()
{
  int *n;
  int k;
  k=CountFile("in.txt");
  n=(int *) malloc(sizeof(int)*k);
  if(k=ReadFile("in.txt", n))
  {
    printf("file opened");
    SortArray(n,k);
    WriteFile("out.txt", n, k);
  }
  else
      printf("error on open file");
  getch();
  return 0;

}
int CountFile(char *s)
{
  char txt[11];
  int  k=0;
  FILE *f;
  f = fopen(s, "r");
  if (!f)
	  return 0;
  while(fgets(txt,10,f))
  { 
    k++;
  }
  fclose(f);
  return k;
}
int ReadFile(char *s, int *n)
{
  char txt[11];
  int  k=0;
  FILE *f;
  f = fopen(s, "r");
  if (!f)
	  return 0;
  int count = 0;
  while(fgets(txt,10,f))
  { 
	n[k++]=atoi(txt);
  }
  fclose(f);
  return k;
}

void SortArray(int *n, int k)
{
  int i, j, tmp;
  for(i=0;i<k-1;i++)
    for(j=0;j<k-1;j++)
	{
      if(n[j]>n[j+1])
	  {
        tmp = n[j];
		n[j]= n[j+1];
		n[j+1] = tmp;
	  }
	}
}
bool WriteFile(char *s, int* n, int k)
{
  char txt[11];
  int  i=0;
  FILE *f;
  f = fopen(s, "w");
  if (!f)
	  return 0;
  for(i=0;i<k;i++)
  {
    fprintf(f,"%d\n",n[i]);
  }
  fclose(f);

}

