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 />

}<br />

min = a[i];<br />

index = i;<br />

}<br />

a[index] = a[k];<br />

a[k] = min;<br />

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

printf("%d ", a[k]);<br />

}<br />

return 0;<br />

Aşağıdaki programda dizinin değeri tek olan elemanları küçükten büyüğe olacak şekilde<br />

dizinin başına, dizinin çift olan elemanları ise küçükten büyüğe dizinin sonuna<br />

yerleştiriliyor:<br />

#include <br />

#defineSIZE 10<br />

int main()<br />

{<br />

int a[SIZE] = {2, 3, 1, 7, 9, 12, 4, 8, 19, 10};<br />

int i, k, temp;<br />

for (i = 0; i < SIZE - 1; ++i)<br />

for (k = 0; k < SIZE - 1 - i; ++k)<br />

if (a[k] % 2 == a[k + 1] % 2 && a[k] > a[k + 1] ||<br />

a[k] % 2 == 0 && a[k + 1] % 2 != 0) {<br />

temp = a[k];<br />

a[k] = a[k + 1];<br />

a[k + 1] = temp;<br />

}<br />

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

printf("%d ", a[k]);<br />

}<br />

return 0;<br />

Amacı gerçekleştirmek için yine "kabarcık sıralaması" algoritmasının kullanıldığını, ancak<br />

takas yapmak için sınanan koşul ifadesinin değiştirildiğini fark ettiniz mi?<br />

Aşağıdaki programda bir dizi ters çevriliyor:<br />

#include <br />

#defineSIZE 10<br />

int main()<br />

{<br />

int a[SIZE] = {2, 3, 1, 7, 9, 12, 4, 8, 19, 10};<br />

int k;<br />

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

int temp = a[k];<br />

a[k] = a[SIZE - 1 - k];<br />

a[SIZE - 1 - k] = temp;<br />

}<br />

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

210

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

Saved successfully!

Ooh no, something went wrong!