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

4

ЗАДАНИЕ КАФЕДРЫ

Написать программу, осуществляющую сортировку переменных из входного

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

Вариант: 3i

3-метод обмена

i-целые

Алгоритм сортировки

Т екст программы

#include<stdio.h>

#include<conio.h>

#include<alloc.h>

int* bubble_sort(int*a,int n)

{

int i,j,f=1;

int tmp;

for(i=0;i<n-1;i++){

for(j=n-1;j>i;j--){

f=0;

if(a[j]<a[j-1]){

tmp=a[j-1];

a[j-1]=a[j];

a[j]=tmp;

f=1;

}

}

if(f==0)break;

}

return a;

}

main()

{

char name1[10],name2[10];

FILE*f;

int*a;

int i,n=0,tmp;

printf("name1: ");

scanf("%s",name1);

printf("name2: ");

scanf("%s",name2);

f=fopen(name1,"rt");

if(f==NULL){

printf("error");

}

else{

while(!feof(f)){

fscanf(f,"%d",&tmp);

n++;

}

printf("\n");

fseek(f,0,SEEK_SET);

a=(int*)malloc(n*sizeof(int));

for(i=0;i<n;i++){

fscanf(f,"%d",&a[i]);

}

fclose(f);

printf("%s: ",name1);

for(i=0;i<n;i++){

printf("%d ",a[i]);

}

printf("\n");

bubble_sort(a,n);

printf("%s: ",name2);

for(i=0;i<n;i++){

printf("%d ",a[i]);

}

f=fopen(name2,"wt");

for(i=0;i<n;i++){

fprintf(f,"%d ",a[i]);

}

fclose(f);

}

free(a);

getch();

}

Пример

Входной файл

Выходной файл