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

Aşağıdaki program, rastgele üretilen bir sayısal loto kuponunu ekrana yazıyor:<br />

#include <br />

#include <br />

#include <br />

#define KOLON_SAYISI 8<br />

void kolon_yaz()<br />

{<br />

int numaralar[50] = {0};<br />

int k, no;<br />

}<br />

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

while (numaralar[no = rand() % 49 + 1])<br />

;<br />

numaralar[no]++;<br />

}<br />

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

if (numaralar[k])<br />

printf("%2d ", k);<br />

int main()<br />

{<br />

int k;<br />

srand(time(0));<br />

}<br />

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

printf("kolon %2d : ", k + 1);<br />

kolon_yaz();<br />

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

}<br />

return 0;<br />

kolon_yaz isimli işlev, tek bir kolonu ekrana yazdırıyor. İşlevde numaralar isimli yerel<br />

dizinin, yine bir bayrak dizisi olarak kullanıldığını görüyorsunuz. Dizinin herhangi bir<br />

indisli elemanının değerinin 0 olması, o indis değerinin daha önce üretilmeyen bir sayı<br />

olduğunu gösteriyor. for döngüsü içinde yer alan while döngüsü, daha önce üretilmeyen<br />

bir sayı bulununcaya kadar dönüyor. Böylece 6 kez dönen for döngüsüyle 6 farklı sayı<br />

üretilmiş oluyor.<br />

Aşağıdaki programda bir dizinin en büyük ikinci elemanının değeri bulunuyor:<br />

#include <br />

#define SIZE 10<br />

int main()<br />

{<br />

int a[SIZE] = {12, 34, 3, 56, 2, 23, 7, 18, 91, 4};<br />

int k;<br />

int max1 = a[0];<br />

int max2 = a[1];<br />

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

max1 = a[1];<br />

max2 = a[0];<br />

}<br />

212

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

Saved successfully!

Ooh no, something went wrong!