N elemanlı A dizisini ters sırada B dizisine aktaran programın Algoritması ve Kodu

Soru: N elemanlı A dizisini ters sırada B dizisine aktaran programın Algoritmasını ve Kodunu yazınız.

Yanıt: Kullanıcıdan dizinin uzunluğunu isteyip, girdiği tamsayıyı n değişkenine atayacağız. n uzunluğunda A ve B dizilerini oluşturduktan sonra eleman girme(for ile) döngüsü oluşturacağız. Sayaç(i) 0’dan başlatılıp dizinin uzunluğuna kadar birer birer arttırılacak. Kullanıcıdan tek tek dizi elemanları alınıp A dizisine atanacak. A dizisinin elemanlarını ters sırada B dizisine aktarmak için yeni bir döngü(for) oluşturacağız. Bu döngüde sayaç(i) n-1’den başlatılıp 0’a kadar birer birer azaltılacak.

Bunun sebebi ise örneğin; x ve y dizimiz olsun x dizisinin elemanları {a,b,c} olsun ve y dizisine elemanları {c,b,a} olacak şekilde aktarmak istiyoruz. x[0]=a, x[1]=b, x[2]=c dir. Benim hedefime ulaşmak için yapmam gereken atama işlemi şöyle olmalı:

y[0]=x[2]

y[1]=x[1]

y[2]=x[0]

Yukarıdaki örnekte görünen üzere benim bu ifadeyi oluşturmam için i indisini n-1’den başlatıp 0’a kadar birer birer azaltmam ve döngünün içine B[n-i-1]=A[i] işlemini yazmam gerekiyor. Son olarak Ekrana B dizisinin elemanlarını bastırıyorum.

  1. Başla
  2. Uzunluk gir(n)
  3. Dizi oluştur(A,B)
  4. Eleman döngüsü (i=0’dan n’ye kadar birer birer arttır.)
  5. Eleman gir(A[i])
  6. Aktarma döngüsü (i=n-1’den 0’ kadar birer birer azalt.)
  7. A dizisinin elemanını B’ye tersten ata. (B[n-i-1]=A[i])
  8. Yazdır B[n-i-1]
  9. Son

(Akış Diyagramını Microsoft Visio 2013 ile çizdim.)

(Java Programlama Dili ile kodunu yazdım.)

(C++ Programlama Diliyle kodunu yazdım)

(C# Programlama Diliyle kodunu yazdım)

Leave a Reply

Your email address will not be published. Required fields are marked *