Уааа, уже просто мозги кипят, не знаю что делать 
 
 Задание:
Сортировать  числовой файл(целые числа) обменной сортировкой, сортировкой вставками . Оценить реальное время на сортировку каждым из методов на текущем компьютере. Количество элементов файла не менее  10000.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include "altconio.h"
//создание массива
void input (FILE *file){
     srand(time(NULL));
     int mas[10000], i;
     file = fopen("~$temp.txt", "wt");  
     for (i = 0; i < 10000; i++){
         mas[i]=rand()%100;
         fprintf(file, "%d ", mas[i]);}
         fclose(file);
     delay(1000);
     printf("\nМассив сформирован                      \n");
     printf("\n");
     system("pause");}
//вывод массива
void output (FILE *file){
     clrscr();
     printf("\n                                         ");
     printf("\n                                         ");
     printf("\n                                         ");
     printf("\n                                         ");            
     clrscr(); 
     int mas[10000], i;
     file = fopen("~$temp.txt", "rt");
     while (!feof(file)){ 
         fscanf (file, "%d ", &mas[i]);
         printf("%d ", mas[i]);} 
     fclose(file);
     printf("\n");
     system("pause");}
//вывод массива отсортированного методом обмена     
void output_swap (FILE *file){
     clrscr();
     printf("\n                                         ");
     printf("\n                                         ");
     printf("\n                                         ");
     printf("\n                                         ");            
     clrscr(); 
     int mas[10000], i;
     file = fopen("sort_swap.txt", "rt");
     while (!feof(file)){ 
         fscanf (file, "%d ", &mas[i]);
         printf("%d ", mas[i]);} 
     fclose(file);
     printf("\n");
     system("pause");}
//вывод массива отсортированного методом вставок
void output_insert (FILE *file){
     clrscr();
     printf("\n                                         ");
     printf("\n                                         ");
     printf("\n                                         ");
     printf("\n                                         ");            
     clrscr(); 
     int mas[10000], i;
     file = fopen("sort_insert.txt", "rt");
     while (!feof(file)){ 
         fscanf (file, "%d ", &mas[i]);
         printf("%d ", mas[i]);} 
     fclose(file);
     printf("\n");
     system("pause");}
//обменная сортировка
void sort_swap(FILE *file, int *mas){
     clock_t timer;
     timer = clock();
     int i, j, buf=0, m[10000];
     file = fopen("~$temp.txt", "rt");
     for (i=0; i<10000; i++){
        for (j=0; j<10000; j++){
            if (m[j]>m[j+1]){
               buf=m[j];
               m[j]=m[j+1];
               m[j+1]=buf;}}}
     FILE *f = fopen("sort_swap.txt", "wt");
     for (i=0; i<10000; i++){
        fprintf(f, "  %d", m[i]);}
     fclose(file);
     fclose(f);
     timer = clock() - timer;
     printf("\nМассив отсортирован методом сортировки обмена               \n");
     printf("\n Время сортировки = %f сек                                  \n", (double)timer/CLOCKS_PER_SEC);
     system("pause");}
//сортировка вставками
void sort_insert(FILE *file, int *mas){
     clock_t timer;
     timer = clock();
     int i, j, buf=0, m[10000];
     file = fopen("~$temp.txt", "rt");
     for (i=0; i<10000; i++){
        buf = m[i];
        for (j=i-1; j>=0 && m[i]>buf; j--){
           m[j+1]=m[j];}
        m[j+1]=buf;}
     FILE *f = fopen("sort_insert.txt", "wt");
     for (i=0; i<10000; i++){
        fprintf(f, " %d", m[i]);
        fclose(file);}
     timer = clock() - timer;
     printf("\nМассив отсортирован методом сортировки вставками            \n");
     printf("\n Время сортировки = %f сек                                  \n", (double)timer/CLOCKS_PER_SEC);
     system("pause");}
         
void menu_out(int a) {	
		 clrscr();			
		 setcolor(WHITE,BLACK); 
         printf("\n");
		 switch (a) {  // в зависимости от переданного параметра по-разному показывается меню
		 		case 1: setcolor(BLACK,WHITE);  //для выбранного 1-го пункта белый текст на розовом фоне 
						    printf("Сформировать новый массив\n");
 			 				  setcolor(WHITE,BLACK);  // для остальных пунктов - белый текст на черном фоне
								printf("Вывод массива на экран\n");
								printf("Сортировать массив методом обменной сортировки\n");
								printf("Вывод массива отсортированного методом обменной сортировки\n");
								printf("Сортировать массив методом сортировкой вставками\n");
								printf("Вывод массива отсортированного методом сортировки вставками\n");
								printf("Выход\n");
								break;	// то же самое для остальных пунктов, если они выбраны
		 		case 2: printf("Сформировать новый массив\n");
						 		setcolor(BLACK,WHITE);
								printf("Вывод массива на экран\n");
								setcolor(WHITE,BLACK);
								printf("Сортировать массив методом обменной сортировки\n");
								printf("Вывод массива отсортированного методом обменной сортировки\n");
								printf("Сортировать массив методом сортировкой вставками\n");
								printf("Вывод массива отсортированного методом сортировки вставками\n");
								printf("Выход\n");
								break;
		 		case 3: printf("Сформировать новый массив\n");
						 		printf("Вывод массива на экран\n");
						 		setcolor(BLACK,WHITE);
								printf("Сортировать массив методом обменной сортировки\n");
								setcolor(WHITE,BLACK);
								printf("Вывод массива отсортированного методом обменной сортировки\n");
								printf("Сортировать массив методом сортировкой вставками\n");
								printf("Вывод массива отсортированного методом сортировки вставками\n");
								printf("Выход\n");
								break;
		 		case 4: printf("Сформировать новый массив\n");
						 		printf("Вывод массива на экран\n");
								printf("Сортировать массив методом обменной сортировки\n");
						 		setcolor(BLACK,WHITE);
						 		printf("Вывод массива отсортированного методом обменной сортировки\n");
						 		setcolor(WHITE,BLACK);
								printf("Сортировать массив методом сортировкой вставками\n");
								printf("Вывод массива отсортированного методом сортировки вставками\n");
								printf("Выход\n");
								break;
			    case 5: printf("Сформировать новый массив\n");
						 		printf("Вывод массива на экран\n");
								printf("Сортировать массив методом обменной сортировки\n");
								printf("Вывод массива отсортированного методом обменной сортировки\n");
								setcolor(BLACK,WHITE);
								printf("Сортировать массив методом сортировкой вставками\n");
								setcolor(WHITE,BLACK);
                                printf("Вывод массива отсортированного методом сортировки вставками\n");								
								printf("Выход\n");
								break;
			    case 6: printf("Сформировать новый массив\n");
						 		printf("Вывод массива на экран\n");
								printf("Сортировать массив методом обменной сортировки\n");
								printf("Вывод массива отсортированного методом обменной сортировки\n");
								printf("Сортировать массив методом сортировкой вставками\n");
								setcolor(BLACK,WHITE);
                                printf("Вывод массива отсортированного методом сортировки вставками\n");
                                setcolor(WHITE,BLACK);								
								printf("Выход\n");
								break;
		    	case 7: printf("Сформировать новый массив\n");
						 		printf("Вывод массива на экран\n");
								printf("Сортировать массив методом обменной сортировки\n");
								printf("Вывод массива отсортированного методом обменной сортировки\n");
								printf("Сортировать массив методом сортировкой вставками\n");
                                printf("Вывод массива отсортированного методом сортировки вставками\n");								
								setcolor(BLACK,WHITE);
								printf("Выход\n");
								setcolor(WHITE,BLACK);
								break;}}
int main(){
    srand(time(NULL));   
    clock_t timer;
    
    int a, vibor = 1, N = 7;
    clrscr();				
    printf("\n\n");   
    int mas[10000];
    FILE *file = fopen("~$temp.txt", "wt");    
    if (f == NULL) {
          perror("\nCan't open file:  ");
          getch();
          return 1;}
        
    while (a != 27){ //пока не нажата ESC, если ESC, то программа закончится
          menu_out(vibor);
          a = getch();// узнаем код клавиши
          if (a == 224) a = getch(); // если нажата служебная клавиша, то еще раз getch()    
    switch (a){
           case 13:// если Enter 
                switch (vibor){
                     case 1: clrscr(); input(file); clrscr(); break;     
                     case 2: clrscr(); output(file); clrscr(); break;   
                     case 3: clrscr(); sort_swap(file, mas); clrscr(); break;
                     case 4: clrscr(); output_swap(file); clrscr(); break;
                     case 5: clrscr(); sort_insert(file, mas); clrscr(); break;
                     case 6: clrscr(); output_insert(file); clrscr(); break;
                     case 7: a = 27; break;}
           break;   
           case 80:// если ВНИЗ, то vibor либо увеличивается, либо становится равным 1
                   if ( vibor < N ) vibor++; 
                   else vibor = 1; 
           break;
    
           case 72:// если ВВЕРХ, то vibor либо уменьшается, либо становится равным N, т.е.7
                   if (vibor > 1) vibor--; 
                   else vibor = N;
           break;}}
    printf("\n");      
	system("pause");   
    return 0;
 } После обменной сортировки, в файл записывается мусор, не пойму откуда он берется... а сортировка вставками и вовсе походу не работает. 
Подскажите, где что не правильно?