You are on page 1of 2

Yapacağınız ödevler, önceki ödevlerle birlikte vizenizin bir parçasını oluşturacaktır.

En geç
19.11.2023 tarihine kadar teslim etmeniz gerekmektedir.

1. Aşağıdaki kod parçası, n x n boyutunda bir tam sayı matrisi olan "x" in tüm
elemanlarında sıfır bulan ilk satırı bulur.
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++)
if (x[i][j] != 0) goto reject;
printf("İlk tüm-sıfır satırı:\n", i);
break;
reject:
}
(a) Bu kodu goto ifadesi olmadan yeniden yazın.
(b) Yürütülen beklenen yineleme sayısı açısından kodunuzun verimliliğini örnek kodun
verimliliğiyle karşılaştırın.

2. Aşağıdaki C program bölümünü düşünün. goto veya break kullanmadan yeniden


yazın.
j = -3;
for (i = 1; i < 3; i++) {
switch(j + 2) {
case 3:
case 2: j--; break;
case 0: j += 2; break;
default: j = 0;
}
if (j > 0) break;
j = 3 – i;
}

3. Aşağıdaki C programına bakın:

void fun(int first, int second) {


first += first;
second += second;
}
void main() {
int list[2] = {1, 3};
fun(list[0], list[1]);
}
Aşağıdaki parametre aktarma yöntemlerinin her biri için, yürütme sonrasında liste dizisinin
değerleri nelerdir?
(a) değere göre geçiş (pass by value)
(b) referansa göre geçmek (pass by reference)
(c) değer sonucuna göre geçiş (pass by value-result)
4. Aşağıdaki program bölümünde, print_addr() işlevi show() işlevinin bellek adresini
bulacaktır.

void show() {
printf("\n\nFunction called!");
}
void print_addr() {
printf("Address of show(): %u", show);
}
Parametre olarak verilen herhangi bir fonksiyonun adresini yazdırmak için
print_addr() işlevini yeniden yazın.

You might also like