Üye Girişi Yapınız     


    E-Posta
    

    Şifreniz
    



Şifremi Unuttum


Ana Sayfa Site Hakkında İletişim Ziyaretçi Defteri Döküman İndir Makale Ekle Haber Ekle

     Dizilerin Fonksiyonlarda Kullanılması
     admin     15.03.2012     17:07:36

Diziler de sıradan değişkenler gibi bir fonksiyona parametere olarak akratılabilir. Fakat, aktarma kuralı biraz farklıdır. Her zaman dizinin yanında boyutunun da bilinmesi gerekir. Aşağıdaki programda, bir dizinin elemanlarının yazdırılması işi bir fonksiyona yaptırılmıştır. Fonkisyona parametre olarak dizinin yanında boyutu da ilave edilmiştir. İnceleyiniz.

Diziler de sıradan değişkenler gibi bir fonksiyona parametere olarak akratılabilir. Fakat, aktarma kuralı biraz farklıdır. Her zaman dizinin yanında boyutunun da bilinmesi gerekir. Aşağıdaki programda, bir dizinin elemanlarının yazdırılması işi bir fonksiyona yaptırılmıştır. Fonkisyona parametre olarak dizinin yanında boyutu da ilave edilmiştir. İnceleyiniz.

#include <stdio.h>
void dizi_yaz(float x[], int n); 
int main(){
   float kutle[5]= { 8.471, 3.683, 9.107, 4.739, 3.918 };
   dizi_yaz(kutle, 5);
   return 0;
} 
void dizi_yaz(float x[], int n)
{
   int i;
   for(i=0; i<n; i++)
      printf("%7.3f", x[i]);
   printf("\n");
}

ÇIKTI

 

  8.471  3.683  9.107  4.739  3.918

Eğer dizi boyutu #define önişlemcisi ile belirtilirse boyutun ayrıca parametre olarak kullanılmasına gerek youktur. Bu durumda Program 10.10 şöyle değiştirlebilir:

    ...

    #define BOYUT 5

    void dizi_yaz(float x[]);

    void main(void)

    {

      float kutle[BOYUT]= { 8.471, 3.683, 9.107, 4.739, 3.918 };

      dizi_yaz(kutle);

    }

    ...

Yukarıdaki programda bir dizinin en büyük elemanının nasıl bulunduğu gösterilmişti. En büyük elemanı bulma işlemi bir fonksiyona nasıl yaptırıldığı aşağıdaki programda gösterilmiştir.

#include <stdio.h>
/* n elemanlı bir dizinin enbüyük elemanını gönderir */
int enBuyuk(int a[], int n)
{
   int k, en_buyuk_eleman;
 
   /* ilk eleman en büyük kabul ediliyor */
   en_buyuk_eleman = a[0];
   for(k=1; k<n; k++)
      if( a[k]>en_buyuk_eleman ) 
          en_buyuk_eleman = a[k];
   return en_buyuk_eleman;
}
int main()
{
   int   a[10] = {100, -250, 400, 125 ,550, 900, 689, 450, 347, 700};
   int   eb;
   eb = enBuyuk(a,10); 
   printf("En buyuk eleman = %d\n",eb);
 return 0;
}

ÇIKTI


En buyuk eleman = 900

Son olarak, bir kare matrisin iz (trace) değerini bulup ekrana yazan bir fonksiyon Program 10.12’de verilmişitir. Bir kare matrisin izi, matrisin asal köşegen üzerinde bulunan elemanların toplamı olarak tanımlıdır. Bu tanıma göre, aşağıdaki matrisin izi 2 + 8 + 4 = 14 tür.

Facebook'ta Paylaş    
Diğer C / C İçerikleri       Tüm Yazılar        Ana Sayfa


  =>Soru Sorun veya Yorum Yazın...

İsim Giriniz :
  

  =>Yapılan Yorumlar...