08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

#include <br />

#include <br />

#include <br />

#define SORTED 1<br />

#define NOT_SORTED 0<br />

void swap(int *p1, int *p2)<br />

{<br />

int temp = *p1;<br />

*p1 = *p2;<br />

*p2 = temp;<br />

}<br />

void add_ints_to_file(FILE *f)<br />

{<br />

int k, val, number;<br />

}<br />

fseek(f, 0L, SEEK_END);<br />

number = rand() % 100 + 300;<br />

for (k = 0; k < number; ++k) {<br />

val = rand();<br />

fwrite(&val, sizeof(int), 1, f);<br />

}<br />

void print_file(FILE *f)<br />

{<br />

int val;<br />

int counter = 0;<br />

}<br />

rewind(f);<br />

while (fread(&val, sizeof(int), 1, f)) {<br />

if (counter && counter % 10 == 0)<br />

printf("\n");<br />

printf("%5d ", val);<br />

counter++;<br />

}<br />

printf("\n********************************************************\n");<br />

void sort_file(FILE *f)<br />

{<br />

int a[2];<br />

int k, temp, sort_flag, number_of_ints;<br />

fseek(f, 0L, SEEK_END);<br />

number_of_ints = ftell(f) / sizeof(int);<br />

do {<br />

sort_flag = SORTED;<br />

for (k = 0; k < number_of_ints - 1; ++k) {<br />

fseek(f, sizeof(int) * k, SEEK_SET);<br />

fread(a, sizeof(int), 2, f);<br />

if (a[0] > a[1]) {<br />

swap(a, a + 1);<br />

fseek(f, sizeof(int) * k, SEEK_SET);<br />

fwrite(a, sizeof(int), 2, f);<br />

sort_flag = NOT_SORTED;<br />

}<br />

}<br />

482

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!