4. Ödev
Teslim Tarihi: 13 Kasım 2008 (iki grup için de )
Not : Aşağıdaki kodlar için dizilerin boyutlarını bildiğinizi kabul edebilirsiniz. Yani kendi örnekleriniz için döngülerin kaça kadar döneceğini elle verebilirsiniz. Aşağıdaki diziler sadece anlatmak için verilmiş örneklerdir, kodunuz her durum için çalışabilmelidir sadece aşağıdaki durumları çözmesi doğru olduğunu göstermez.
1. Dizi birleştiren bir kod yazını. (iki dizi alıp 3. bir dizide birleştireceksiniz. Örneğin int a[] = {1,2,3} ve b[] = {6,7,8}. Sizin kodunuzdan sonra c[] = {1,2,3,6,7,8} olacak)
2. Dizi bölen bir kod yazınız. (bir dizi bir de int sayı alıp verilen sayıdan diziyi iki farklı sayıya böleceksiniz. Örneğin int a[] = {3,6,2,8,0,1} ve sayımız 3 olsun bu durumda sonuçta b[] = {3,6,2,8} ve c[] = {0,1} dizileri olacak)
3. Polinom işleyen bir kod yazınız. (Buna göre polinomun katsayılarının dizide durduğunu kabul edelim. Örneğin 3x
3 + 2x + 5 polinomunu int a[] = {3,0,2,5} katsayıları ile göstermek mümkündür. Size x değeri olarak verilen sayıyı polinom için işleyen kod yazın. Yani verilen polinomda x yerine 3 koyup çözen kod)
4. Polinm çarpan kod yazınız. (Buna göre iki polinomu yine dizi olarak alacaksınız. Örneğin birinci polinom : 5 0 3 ve ikinci polinom : 2 2 0 3 olsun. Bu iki polinomun çarpımı : 10 10 6 21 0 9 olarak bulacaksınız.)
5. Karmaşık sayıları toplayan kod yazınız (Buna göre bir karmaşık sayısyı bir dizide tutmak mümkündür şöyleki 3 + 2i karmaşık sayısı dizide { 3, 2} şeklinde durabilir. Sizden istenen iki karmaşık sayıyı toplayan kod yazmanız (örneğin (3+2i)+ (4+5i) = 7 + 7i olacaktır)
Değerlendirme (aşağıda çeşitli durumlarda alınabilecek en
yüksek puanlar verilmiştir, bu durumlarda daha düşük puan alabilirsiniz,
notlama her soru için 100 üzerinden hesaplanmıştır)
Boş ödev veya şartlara uygun olmayan ödev yollanması
durumunda 1 puan
Compile etmeyen kod 10 puan
Compile eden ama çalışırken problemi olan (sonsuz döngü
gibi) ödev 30 puan