Home / C Kodları / Dizilerde Araya Eleman Ekleme C Kodu

Dizilerde Araya Eleman Ekleme C Kodu

Bu yazımızda C dilinde oluşturduğumuz diziye eleman ekleme işlemini göreceğiz. Dizinin sonuna eleman eklemek kolay, ancak ya araya eleman ekleme yaparsak ne olacak? İşte bu yazının amacı Dizilerde araya eleman ekleme sürecini kavratmaya çalışmak.

Dizilerde her indise bir eleman yerleştirilir. Eğer aradaki bir indise eleman yerleştirecek olursak, o indisten sonra gelen elemanların hepsinin birer indis ileri kayması gerekmektedir. İşte biz yazacağımız C kodunda esas bu işlemi yapacağız.

Aşağıda size verdiğim kodun yorum satırlarına bakmayı ihmal etmeyin. Esas anlatım orada yer alıyor olacak. Kolay gelsin.

Dizilerde Araya Eleman Ekleme C Kodu


#include<stdio.h>

//********************************************//
//************* Algoritma Uzmanı *************//
//*********** www.algoritmauzmani.com ********//
//********************************************//

int main() {
    //Genel değişkenlerimiz
   int dizi[30], eklenecekSayi, elemanSayisi, i, lokasyon;

   printf("\nDiziye Kac Tane Eleman ekleyeceksiniz? :");
   scanf("%d", &elemanSayisi);

   for (i = 0; i < elemanSayisi; i++) {
      printf("\n Lutfen dizinin %d. indisindeki sayiyi girin... ", i);
      scanf("%d", &dizi[i]);
   }

   printf("\nDiziye Eklemek istediginiz sayiyi girin :");
   scanf("%d", &eklenecekSayi);

   printf("\nHangi Pozisyona (indis + 1) Eleman Eklemek İstiyorsunuz? .. ");
   scanf("%d", &lokasyon);

   //Belirtilen indis için boşluk oluşturuyoruz. En önemli yer burası
   //Eklemek istediğimiz indisteki ve SONRAKİ indisteki tüm sayılar birer ileri kaydırılır
   for (i = elemanSayisi; i >= lokasyon; i--) {
      dizi[i] = dizi[i - 1];
   }

   //diziye eleman eklediğimiz için eleman sayısını 1 artıyoruz.
   elemanSayisi++;

   //Diziler sıfırdan başladığı için indis karşılığı lokasyonun 1 eksiği olacaktır.
   //Burada lokasyona eleman yerleştirmeyi yapıyoruz.
   dizi[lokasyon - 1] = eklenecekSayi;

  //Aşağıdaki döngü dizimizin yeni halini ekrana basıyor.
   for (i = 0; i < elemanSayisi; i++)
   {
      if(i == lokasyon - 1)
      {
          printf("\n dizi[%d] %d ==> Bu eleman diziye yeni eklendi", i, dizi[i]);
      }
      else
      {
          printf("\n dizi[%d] %d", i, dizi[i]);
      }

   }


   return (0);
}


Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir