EM205 – Çalışma Soruları
25.12.2014
NOT: “... bir fonksiyon yazınız.” şeklinde biten tüm sorularda yazdığınız fonksiyonu çalıştıracak uygun
bir ana program yazmanız gerekmektedir.
1. D[ ]={1,0,1,1,1,0,1,0,1,1}
D dizisinde ardışık 1-0-1 sayılarından kaç tane olduğunu bulan bir program yazınız.
Cevap: 3
2. Bir tamsayının n’inci basamağını dönen bir fonksiyon yazınız.
Basamakları 0’dan başlayarak sağdan sayınız
örn: 543210 sayısının 0. basamağı 0; 3. basamağı 3
3. 2 boyutlu 5x5 elemanlı bir dizinin asal köşegenindeki elemanları, köşegenin altında ve köşegenin
üstünde kalan elemanları 3 ayrı tek boyutlu diziye atan bir program yazınız.
4. 2 boyutlu 4x4 elemanlı bir dizinin ilk ve son satırlarını değiştiren bir program yazınız. İkinci bir dizi
kullanmayınız, döngüsüz çözümler kabul edilmeyecektir.
Örn:
1 2 3 4
13 14 15 16
5 6 7 8
5 6 7 8
9 10 11 12
9 10 11 12
13 14 15 16
1 2 3 4
5. Kayan Ortalama (Moving Average):
Bir dizinin elemanlarının 3’erli gruplar halinde ortalamasını hesaplayarak yeni bir dizi oluşturan
bir program yazınız.
Örn:
dizi:
{1, 2, 3, 8 , 7, 10}
Ortalamalar:
{2.00, 4.33, 6.00, 8.33}
(yeni dizinin eleman sayısı ilk diziden 2 eksik olacaktır.)
6. N’inci Fibonacci sayısını hesaplayan bir recursive fonksiyon yazınız.
7. Eleman sayısını ve elemanlarını kullanıcının girdiği tek boyutlu bir diziyi, ikinci bir dizi
kullanmadan, ters çeviren bir fonksiyon yazınız.
Örn:
dizi:
{9, 15, 8, 1, 6, 10}
tersi:
{10, 6, 1, 8, 15, 9}
Fonksiyon prototipi: void cevir (int dizi[ ], int eleman_sayisi) ;
8. Tek boyutlu bir dizide kullanıcını girdiği bir sayıyı arayan; bulursa sayının indisini, bulamazsa en
yakın sayı ile arasındaki farkı dönen bir fonksiyon yazınız.
NOT: İki sayının farkının negatif çıkabileceğini unutmayınız.
9. 2 boyutlu NxN elemanlı bir dizinin asal köşegeninin altında kalan elemanlarının ortalamasını
bulan bir fonksiyon yazınız.
10. Büyükten küçüğe sıralanmış tek boyutlu bir diziye, kullanıcının gireceği bir sayıyı doğru yerden
ekleyen bir fonksiyon yazınız. Yeni sayı eklenince en sondaki (en küçük) sayı atılacaktır.
Örn:
dizi:
{14, 9, 7, 3, 2}
8 eklenirse: {14, 9, 8, 7, 3} 2
11. Tek boyutlu N elemanlı bir dizinin mutlak değerini alan (tek tek tüm elemanlarının mutlak
değerini alan) bir fonksiyon yazınız.
Örn: Fonksiyona gitmeden önce: {6, -8, 4, -1, -7}
Dönünce: {6, 8, 4, 1, 7}
12. 10 elemanlı bir diziye rastgele elemanlar atayan bir fonksiyon yazınız.
13. Bir dizinin en büyük ve en küçük elemanlarını dönen bir fonksiyon yazınız.
14. İki değişkenin değerlerini değiştiren bir fonksiyon yazınız. (örn: a=8, b=4 ise fonksiyondan sonra
a=4, b=8 olmalı)
15. İki boyutlu bir dizide kullanıcını girdiği bir sayıyı arayan; bulursa sayının satır ve sütün indislerini
dönen bir fonksiyon yazınız.
Not: Sayıyı bulup bulamadığı bilgisini “return 1” ve “return 0” ile dönebilirsiniz. Bulunan sayının
satır ve sütün indisleri bilgisi içinse gösterici kullanmanız gerekecektir.
16. Selection Sort (seçmeli sıralama) algoritmasını araştırınız. Bu algoritmayı kullanarak tek boyutlu
bir diziyi büyükten küçüğe sıralayan bir program yazınız.
17. Bir dinamik dizinin eleman sayısını ve elemanlarını kullanıcıdan ana programda alınız. Daha sonra
bir fonksiyonda pozitif, negatif ve sıfır’ların sayısını bulup sonucu ana programda yazdırınız.
18. Matematikteki kompleks sayıları ifade eden bir struct (yapı) yazınız.
a. Bir kompleks sayının genliğini bulan bir fonksiyon yazınız.
b. İki kompleks sayıyı toplayan bir fonksiyon yazınız.
Download

EM205 – Çalışma Soruları 25.12.2014 NOT: “... bir fonksiyon yazınız