Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
17
Добавлен:
20.06.2014
Размер:
54.27 Кб
Скачать

4

Задание кафедры

Написать программу, осуществляющую сортировку чисел из входного файла и запись результата сортировки в выходной файл. Имена входного и выходного файлов вводятся пользователем. На экране должна отображаться входная и выходная последовательность. Формат файлов текстовый. Количество записей не ограничено.

Вариант 1Int

Алгоритм сортировки методом выбора

#include<stdlib.h>

#include<stdio.h>

#include<conio.h>

void sort(int* x, int q)

{

int i,j;

int min;

int temp;

for (i=0;i<q-1;i++)

{

min=i;

for (j=i+1;j<q;j++)

{

if (x[min]>x[j])

{

min=j;

}

}

temp=x[i];

x[i]=x[min];

x[min]=temp;

}

}

int main (void)

{

char name_in[50],name_out[50];

int i=0,j;

int temp=0;

int* mass=NULL;

FILE *in, *out;

printf("Input in filename\n");

scanf("%s",&name_in);

printf("Input out filename\n");

scanf("%s",&name_out);

in=fopen(name_in,"r");

if(in==NULL)

{

printf("Error. File %s is not exist.\n",name_in);

system("pause");

return 1;

}

else

{

printf("Unsorted:\n");

while(!feof(in))

{

fscanf(in,"%d",&temp);

printf("%d ",temp);

i++;

}

mass=(int*)malloc(i*sizeof(int));

fseek(in,0,SEEK_SET);

for(j=0;j<i;j++)

{

fscanf(in,"%d",&temp);

mass[j]=temp;

}

fclose(in);

sort(mass,i);

out=fopen(name_out,"w");

printf("\nSorted:\n");

for(j=0;j<i;j++)

{

temp=mass[j];

printf("%d ",temp);

fprintf(out,"%d ",temp);

}

fclose(out);

free(mass);

printf("\n");

system("pause");

return 0;

}

}

Содержимое файла in.txt:

4 54 -68 5868 0 10

Содержимое файла out.txt:

-68 0 4 10 54 5868