BM101 BİLGİSAYAR PROGRAMLAMA I UYGULAMA ÖRNEKLERİ Diziler 1. Aşağıdaki örnekte double türünde bir dizinin oluşturulması, eleman atama ve elemana erişme işlemleri gösterilmiştir. İnceleyiniz. #include <stdio.h> #include <stdlib.h> int main() { int i; // Dizi tanımlama ve eleman atama double myArray[5] = {0.1, 0.2, 0.3, 0.4, 0.5}; //Diziye eleman atama myArray[3] = 1.4; //Dizideki elemanlara el ile erişim myArray[0] = myArray[4]; printf("To access the elements of array manually:\n"); printf("Element 0 is %.1lf\n",myArray[0]); printf("Element 1 is %.1lf\n",myArray[1]); printf("Element 2 is %.1lf\n",myArray[2]); printf("Element 3 is %.1lf\n",myArray[3]); printf("Element 4 is %.1lf\n",myArray[4]); //Dizideki elemanlara for döngüsü ile erişim printf("\nTo access the elements of array via for loop:\n"); for (i = 0; i < 5; i++) { printf("Element %d is %.1lf\n",i, myArray[i]); } system("pause"); return 0; } 2. Aşağıdaki örnekte bir dizinin elemanlarının ortalaması bulunmaktadır. İnceleyiniz. #include <stdio.h> #include <stdlib.h> double Average(int arr[], int size); double Average(int arr[], int size) { int i; double avg; double sum= 0; int main () { //Dizi tanımlama ve eleman atama int myArray[5] = {1, 2, 3, 4, 5}; double avg; for (i = 0; i < size; ++i) { sum += arr[i]; } //Dizi boyutunu hesaplama int size=sizeof(myArray)/sizeof(int); avg = sum / size; return avg; } //Fonksiyon parametresi olarak dizi kullanımı avg = Average(myArray, size) ; printf("%.2lf \n", avg); system("pause"); return 0; } BM101 BİLGİSAYAR PROGRAMLAMA I UYGULAMA ÖRNEKLERİ Diziler 3. Bir karakter dizisinin elemanlarını eğer küçük harf ile yazılmışsa büyük harfe, büyük harfle yazılmışsa küçük harfe çevirip eski ve yeni diziyi ekrana yazan program kodunu yazınız. Beklenen fonksiyonlar: char Lower(char c); //upper to lower char Upper(char c); //lower to upper char LowerUpperOrNeither(char c); //returns 1 if c is upper, -1 if c is lower, 0 if c is neither upper of lower İpucu: Lower fonksiyonu C kodu: char Lower(char c) { if(c >= 'A' && c <= 'Z') { return c + ('a' - 'A'); } else { return c; } } 4. Beş elemanlı bir integer dizisi tanımlayıp elemanlarının ilk değerlerini klavyeden aldırınız. Ardından dizinin tüm değerlerini bir for döngüsü ile gezerek ortalamadan büyük olan değerleri ortalama kadar azaltan, ortalamadan küçük olan değerleri ise ortalama kadar arttıran program kodunu yazınız. BM101 BİLGİSAYAR PROGRAMLAMA I UYGULAMA ÖRNEKLERİ Diziler 5. Bir karakter dizisi içerisinde klavyeden girilen bir karakteri ekran çıktısındaki gibi arayan program kodunu yazınız. Programdan beklenen gereksinimler aşağıda listelenmiştir. Başlangıçta dizinin tüm elemanları ekrana yazdırılmalıdır. Aranan karakter klavyeden girilmelidir. Aranan karakter dizide bulunursa dizideki index numarasını (dizinin kaçıncı elemanı olduğu bilgisi) ekrana yazdırılmalıdır. Büyük-küçük harf bağımsız çalışmalıdır. 6. Cümlelerin ilk harfi büyük yazılır. Cümle içerisinde ise sadece özel isimlerin baş harfleri büyük yazılır. Buna göre kelimelerin içerisinde büyük harfle yazılı karakterler olmamalıdır. Bu kurala göre bir karakter dizisini düzenleyen program kodunu yazınız. Özel isimleri değerlendirmeye almadan aşağıdaki ekran çıktısına benzer çıktı üretiniz. Beklenen fonksiyonlar: char Lower(char c); //upper to lower char Upper(char c); //lower to upper char LowerUpperOrNeither(char c); //returns 1 if c is upper, -1 if c is lower, 0 if c is neither upper of lower 7. Aşağıdaki ekran çıktısını üretecek şekilde bir dizi tanımlayıp bu dizi elemanlarından tek olanları bir diziye çift olanları başka bir diziye atarak bu iki diziyi ekrana yazdıran program kodunu yazınız. Başlangıç dizinin boyutu ve elemanları kullanıcı tarafından girilecektir. BM101 BİLGİSAYAR PROGRAMLAMA I UYGULAMA ÖRNEKLERİ Diziler 8. Integer tipinde bir diziyi aşağıdaki kurallara göre sıralayıp başlangıçtaki diziyi ve sıralama sonrasında oluşan diziyi ekrana yazdıran program kodunu yazınız. Başlangıç ve sıralama sonrası elemanları tutmak üzere iki integer dizi kullanılacaktır. Dizi boyutunu en az 5 olmak üzere kendiniz belirleyebilirsiniz. Tüm elemanlar sıralanana kadar başlangıç dizideki en büyük eleman bulunup ikinci diziye kaydedilecektir. En büyük değerden en küçük değere doğru sıralama yapılacaktır. 9. Boyutu (eleman sayısı) ve elemanları klavyeden okunmak üzere bir dizinin elemanlarını çarpan ve çarpım sonucunu ekrana yazdıran program kodunu yazınız. 10. Boyutu klavyeden okunmak üzere dizinin elemanlarını rastgele üretip ekrana yazan program kodunu yazınız. 11. Maksimum boyutu 100 olan ve klavyeden girilen iki karakter dizisini (string) karşılaştıran program kodunu yazınız. Hazır fonksiyon kullanmayınız. Uygulama kullanıcı sonlandırıncaya kadar karşılaştırmak amacıyla yeni diziler istemeyi sürdürmelidir. Aşağıdaki ekran çıktısına benzer çıktı üretiniz. 12. Klavyeden girilen ve maksimum boyutu 100 olan bir karakter dizisinin içerisinde kaç adet sesli harf olduğunu bulan program kodunu yazınız. Sesli harfleri de ayrı bir dizide saklayınız. Uygulama kullanıcı sonlandırıncaya kadar sesli harf saymak amacıyla yeni diziler istemeyi sürdürmelidir. BM101 BİLGİSAYAR PROGRAMLAMA I UYGULAMA ÖRNEKLERİ Diziler 13. İki adet integer tipinde matrisi toplayıp ekrana yazdıran program kodunu yazınız. Toplanacak iki matris de klavyeden alınmalıdır ve boyutları 5 olmalıdır. Uygulama kullanıcı sonlandırıncaya kadar yeni matrisler istemeyi sürdürmelidir. 14. Tersten okunuşu kendisine eşit olan diziler palindrom özelliği taşır. Klavyeden girilen maksimum 20 karakterli bir karakter dizisinin palindrom olup olmadığını bulan program kodunu yazınız.
© Copyright 2024 Paperzz