Skip to content

Instantly share code, notes, and snippets.

@skhozinova
Last active May 30, 2017 12:12
Show Gist options
  • Save skhozinova/ed36a1f562bf445187e58ae5a986a463 to your computer and use it in GitHub Desktop.
Save skhozinova/ed36a1f562bf445187e58ae5a986a463 to your computer and use it in GitHub Desktop.
#include<stdio.h>
#include<conio.h>
//инициализация очереди
void init_queue(tqueue *&h, tqueue *&t)
{h=t=NULL;}
//добавление элемента в очередь
void insert(tqueue *&h,tqueue *&t, int item)
{
tqueue *r=new tqueue;
r->inf=item;r->next=NULL;
if (!h&&!t)
{
h=t=r;
}
else
{
t->next=r;
t=r;
}
}
//выборка элемента из очереди
int take(tqueue *&h, tqueue *&t)
{
tqueue *r=h;
int i=r->inf;
h=r->next;
if (!h)
t=NULL;
delete r;
return i;
}
int main(void)
{
FILE *h,*g;
h=fopen(“file1.txt”,”r”); //открываем файл h для чтения
int i;
tqueue *head,*tail;//описываем указатели на голову и хвост очереди
init_queue(head,tail);//инициализируем очередь
while(!feof(h)) //пока не достигнут конец файла h
{
fscanf(h,”%d”,&i); //считываем из файла h очередной элемент
insert(head,tail,i);//добавляем его в очередь
}
fclose(h); //закрываем файл h
h=fopen(“file1.txt”,”w”); //открываем файл h для записи
g=fopen(“file2.txt”,”r”); //открываем файл g для чтения
while(!feof(g)) //пока не достигнут конец файла g
{
fscanf(g,”%d”,&i); //считываем из файла g очередной элемент
fprintf(h,”%d ”,i);//записываем его в файл h
}
fcloseall(); //закрываем все файлы
g=fopen(“file2.txt”,”w”) // открываем файл g для записи
while (head) //пока очередь не пуста
{
i=take(head,tail); // извлекаем из очереди элемент
fprintf(g,”%d ”,i);//записываем его в файл g
fclose(g);//закрываем файл g
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment