Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama C / C++ Dizi Üzerinde Fonksiyonlarla Sıralama, Ortalama Bulma, Eleman Değiştirme ve Arama


Dizi Üzerinde Fonksiyonlarla Sıralama, Ortalama Bulma, Eleman Değiştirme ve Arama

AÇIKLAMA

Bu programda öncelikli olarak kullanıcıdan 20 adet sayı alınmaktadır. Program içerisinde 5 adet fonksiyon bulunmaktadır. Dizi sırala fonksiyonu girilen sayıları küçükten büyüğe sıralar ve sayıları ekrana bastırır. Ortalama fonksiyonu girilen sayıların ortalamasını hesaplar ve gösterir.Eleman Değiştir fonksiyonu öncelikli olarak yeni girilecek elemanı ve ardından da girilmesi istenen sırayı (indis numarasını) kullanıcıdan aldıktan sonra ilgili günçelleştirmeyi yapar. Arama fonksiyonu kullanıcı tarafıdan girilen sayıyı dizi içerisinde arar ve bulursa indis numarasını geriye dönderir.

Program Kodu:

  1. //---------------------------------------------------------------------------
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5. #include <stdio.h>
  6. #include <conio.h>
  7.  
  8. void yazdir();
  9. void dizisirala(int []);
  10. void ortalama(int []);
  11. void elemandegistir(int []);
  12. void ara(int []);
  13.  
  14.  
  15. int main(int argc, char* argv[])
  16. {
  17. int a[20];
  18. int secenek;
  19. for(int i=0;i<20;i++)
  20. {
  21. printf("%2.d.elemani giriniz>>",i+1);
  22. scanf("%d",&a[i]);
  23. }// for kapandı
  24.  
  25. do{
  26. yazdir();
  27. scanf("%d",&secenek);
  28.  
  29.  
  30. //void yazdir fonksiyonu kapandı
  31.  
  32. if(secenek==1)
  33. dizisirala(a);
  34. if(secenek==2)
  35. ortalama(a);
  36. if(secenek==3)
  37. elemandegistir(a);
  38. if(secenek==4)
  39. ara(a);
  40. if(secenek==5)break;
  41. }while(1);
  42. }//program sonu
  43. void yazdir()
  44. {
  45.  
  46. printf("1.Diziyi sirala\n");
  47. printf("2.Ortalamasini bul\n");
  48. printf("3.Elaman degistir\n");
  49. printf("4.Dizide elaman ara\n");
  50. printf("5.Cikis\n");
  51. printf("Seciminizi yapiniz>>");
  52. }
  53.  
  54. void dizisirala(int a[])
  55. {
  56. for(int i=0;i<20;i++)
  57. {
  58.   for(int j=i+1;j<20;j++)
  59.   {
  60.   if(a[i]>a[j])
  61.   {
  62.   int temp=a[i];
  63.   a[i]=a[j];
  64.   a[j]=temp;
  65.   }//if kapandı
  66.   }//for kapandı
  67. }//for kapandı
  68.  for(int i=0;i<20;i++)
  69.   printf("%d ",a[i]);
  70. printf("\n\n");
  71. }
  72.  
  73.  
  74. void ortalama(int a[])
  75. {
  76. float ortalama;
  77. for(int i=0;i<20;i++)
  78. ortalama+=a[i];
  79. printf("Ortalama:%f",ortalama/20);
  80. printf("\n\n");
  81. }//ortalama fonksiyounu kapandı
  82.  
  83.  
  84. void elemandegistir(int a[])
  85. {
  86. int indis,eleman;
  87. printf("Degistirilecek elemani giriniz>>");
  88. scanf("%d",&eleman);
  89. printf("Degistirilecek elamanin sira numarasini giriniz>>");
  90. scanf("%d",&indis);
  91. a[indis-1]=eleman;
  92. }// elemandegistir fonksiyonu kapandı.
  93.  
  94.  
  95. void ara(int a[])
  96. {
  97. int eleman,i;
  98. bool sonuc;
  99. printf("Aranacak elemani gir>>");
  100. scanf("%d",&eleman);
  101. for(i=0;i<20;i++)
  102. {
  103.  if(eleman==a[i])
  104.  {
  105.  sonuc=true;
  106.  break;
  107.  }// if kapandı.
  108. }// for kapandı.
  109. if(sonuc==true)
  110. printf("Aranacak eleman dizisinin %d.sirada bulundu.",i+1);
  111. printf("\n\n");
  112. }// ara fonksiyonu kapandı.
  113.  
  114.  
Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Salı, 09 Ağustos 2011 15:29 )  
amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım