08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

Diziler Üzerinde İşlem Yapan İşlevlere Örnekler<br />

Aşağıda bir dizinin elemanlarına rastgele değerler yerleştirmek amacıyla bir işlev<br />

tanımlanıyor:<br />

void set_random_array(int *ptr, int size, int max_val)<br />

{<br />

int k;<br />

}<br />

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

ptr[k] = rand() % (max_val + 1);<br />

Bu işlev başlangıç adresini ve boyutunu aldığı dizinin elemanlarını 0 – max_val aralığında<br />

rastgele değerlerle dolduruyor.<br />

int sum_array(const int *ptr, int size)<br />

{<br />

int sum = 0;<br />

int k;<br />

}<br />

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

sum += ptr[k];<br />

return sum;<br />

sum_array işlevi dizinin elemanlarının toplamı değeriyle geri dönüyor. Dizinin tüm<br />

elemanlarının değeri sum isimli yerel nesneye katılıyor. İşlev sum nesnesinin değeri ile<br />

geri dönüyor.<br />

int max_array(const int *ptr, int size)<br />

{<br />

int max = *ptr;<br />

int k;<br />

for (k = 1; k < size; ++k)<br />

if (ptr[k] > max)<br />

max = ptr[k];<br />

}<br />

return max;<br />

int min_array(const int *ptr, int size)<br />

{<br />

int min = *ptr;<br />

int k;<br />

for (k = 1; k < size; ++k)<br />

if (ptr[k] < min)<br />

min = ptr[k];<br />

}<br />

return min;<br />

max_array işlevi adresini ve boyutunu aldığı dizinin en büyük elemanının değeri ile geri<br />

dönüyor. min_array işlevi ise, benzer şekilde en küçük elemanın değeriyle geri dönüyor.<br />

250

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

Saved successfully!

Ooh no, something went wrong!