Tam Sayı Dizisindeki Tek ve Çift Sayıların Toplamını Bulan Algoritma

Batuhan Düzgün tarafından yayınlanmıştır 8. December 2010 19:42

Merhaba arkadaşlar yeni kategorimde sizlere "Algoritma"  konu başlığında programlama dünyasına yeni başlayanlar için yazılar yazacağım.Özellikle Sakarya Üniversitesi'nde 2 yıldır verdiğim Algoritma eğitimlerinden gelen birikimleri burdan daha geniş bir kitleye yaymak istiyorum.Bu yazımda sizlere  bir tam sayı dizisindeki tek ve çift sayıların toplamını bulan uygulamayı C programlama diliyle örnekleyeceğim.
 
İlk İş Algoritma Tasarımı
 
Arkadaşlar ilk önce algoritma tasarımı yaparken sorunun iyi anlaşılması lazım.Mesela örneğimizde dizi ifadesinin geçmesi bir döngü yapısının kullanılacağını,tek veya çift sayı denmesi ise bir eğer koşulunun kullanılacağı anlamına gelmektedir.İşe başlarken nerelerde döngü gerekli,nerelerde dallanma komutu kullanacağım kağıt üzerinde biraz karalama yaparak anlamaya çalışmanız kendinizi geliştirmek açısından yararlı olacaktır.
 
Ne demiştik bir döngü ve dallanma koşulu olacak dedik.Döngüyü ilerletirken,diziden aldığımız sayının 2 sayısına göre modunu alıp,tek veya çift kontrolu yapacağız.Akış diyagramını aşağıdaki şekilde vereyim.
 
 
 
Yukarıdaki akış diyagramına bağlı olarak aşağıda C kodu verilmiştir.
 
#include <stdio.h>  //printf scanf gibi kütüphane fonksiyonlarını,standart giriş çıkış işlemleri için gerekli başlık dosyası
#include <conio.h>  //getch fonksiyonu gibi herhangi bir tuşa basılıncaya kadar ekranda bekletmeye yarayan işlemler için

int main() // ana fonksiyon program main fonksiyonunu gördüğünde çalışmaya başlar
{
    int Dizi[1000];//1000 eleman kapasiteli bir dizi tanımlıyoruz
    
    int TT=0;//tek sayıların toplamını tutacak olan tam sayı tipindeki değişkenimiz
    int CT=0;//çift sayıların toplamını tutacak olan tam sayı tipindeki değişkenimiz
    int sayac; //girilen maksimum sayıya kadar olan sayılar için kullandığımız değişken
    int MAX; //dizinin maksimum kaç adet sayı tutacağını belirten değişken
    
    printf("kaç elemanli olacak?\n"); //ekrana mesaj yazdırma işlemi
    scanf("%d",&MAX);//ekrandan girilen değeri belli bir değişkene atama işlemi
    
    for(sayac=0; sayac<MAX; sayac++)//tek ve çift sayıları tek tek incelediğimiz döngümüz
    {
                 if(sayac%2==0)//eğer alınan sayının 2 ye göre mod alma işlemi sıfırsa bu sayı çifttir.
                 {
                     CT+=sayac;//o halde çift olan bu sayıyı çift toplamını tutan değişkene ekle.
                 }
                 else
                 {
                     TT+=sayac;//değilse tek olan sayıları toplamını tutan değişkene ekle.
                 }
    }
    
    printf("Tek sayilarin toplami : %d\n",TT);//son işlem olarak toplam değerlerini ekrana yazdır
    printf("Cift sayilarin toplami : %d\n",CT);
    
    getch();//klavyeden herhangi bir tuşa basılıncaya kadar ekranda beklet
    return 0;//return 0 ile işletim sistemine programın çalıştığı mesajını döndür
 
Bir sonraki makalemde görüşmek dileğiyle ...
 
Batuhan Düzgün
 
Sakarya Üniversitesi
 
Bilgisayar Mühendisliği 

Currently rated 3.0 by 4 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

Algoritma

Comments

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading





Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.

Batuhan Düzgün

Sakarya Üniversitesi 

Bilgisayar Mühendisi

Endüstri Mühendisi

Yeditepe Üniversitesi

Bilgisayar Mühendisliği Yüksek Lisans 

 sahibinden.com

   Kıdemli Uzman Yazılım Mühendisi  

E-Mail 

   batuhan.duzgun@sahibinden.com

   batuhan.duzgun@windowslive.com

  github.com/batux

 

Sayfalar

Calendar

<<  July 2018  >>
MoTuWeThFrSaSu
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

Yazıları geniş takvimde göster