15 Nisan 2016 Cuma

Sayıyı basamaklarına ayırma : Java, C#, Swift, C , C++

Merhabalar, bu yazımda sizlere konsoldan girilen bir sayının nasıl basamaklarına ayırılabileceğini göstereceğim.

Bu dersimiz daha çok programlamaya yeni başlayanlar için olacak.

Algoritmamızda mod alma ve bölme işlemlerini kullanacağız.
Algoritması :

Program başlar.
Konsoldan bir sayı istenir.
Alınan sayı, bir değişkene atanır.
Sayı sıfırdan büyük olduğu sürece tekrarlanır :

- Sayının 10 ile modu alınır (yani sayıyı 10'a böldüğümüzde kalan sayı döner) ve ekrana yazdırılır.
- Sayı değeri 10'a bölünüp sayı değerine atanır.

Program bitirilir.

Hadi gelin şimdi yazdığımız bu algoritmayı 5 farklı yazılım dili ile yazıp satır satır açıklayalım :

Java :
    
// Arda Mavi - ardamavi.com

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        System.out.print("Bir sayı giriniz : ");
        // Konsoldan sayı istenir

        Scanner scn = new Scanner(System.in);
        // scn isimli Scanner sınıfı oluşturuyoruz. Bu Konsoldan giriş almamızı sağlar.

        int sayi = scn.nextInt();
        // Tamsayı tipinde(int) sayi değişkenini oluşturup bu değişkene konsoldan alınan değeri atıyoruz.

        while (sayi > 0){
            // Sayı sıfırdan büyük olduğu sürece tekrarlanacak :

            System.out.println(sayi % 10);
            // Sayıyının 10 ile modu alınır (yani sayıyı 10'a böldüğümüzde kalan sayı döner) ve ekrana yazdırılır.

            sayi = sayi/10;
            // Sayı değişkeni 10'a bölünür ve sonuc sayi değişkenine atanır.

        }
    }
}


C# :
    
// Arda Mavi - ardamavi.com

using System;

namespace Main
{
 class MainClass
 {
  public static void Main (string[] args)
  {
   Console.Write("Bir sayı giriniz : ");
   // Konsoldan sayı istenir

   int sayi = Convert.ToInt32(Console.ReadLine());
   // Tamsayı tipinde(int) sayi değişkenini oluşturup bu değişkene konsoldan alınan değeri atıyoruz.

   while (sayi > 0){
    // Sayı sıfırdan büyük olduğu sürece tekrarlanacak :

    Console.WriteLine(sayi % 10);
    // Sayıyının 10 ile modu alınır (yani sayıyı 10'a böldüğümüzde kalan sayı döner) ve ekrana yazdırılır.

    sayi = sayi/10;
    // Sayı değişkeni 10'a bölünür ve sonuc sayi değişkenine atanır.

   }
  }
 }
}

Swift :
    
// Arda Mavi - ardamavi.com

import Foundation

print("Bir sayı giriniz : ")
// Konsoldan sayı istenir

var sayi = 1654 // Sayı giriniz
// Tamsayı tipinde(int) sayi değişkenini oluşturup bu değişkene konsoldan alınan değeri atıyoruz.

while (sayi > 0){
    // Sayı sıfırdan büyük olduğu sürece tekrarlanacak :
    
    print(sayi % 10)
    // Sayıyının 10 ile modu alınır (yani sayıyı 10'a böldüğümüzde kalan sayı döner) ve ekrana yazdırılır.
    
    sayi = sayi/10
    // Sayı değişkeni 10'a bölünür ve sonuc sayi değişkenine atanır.
    
}

C :
    
// Arda Mavi - ardamavi.com

// stdio.h kütüphanesini dahil etmeyi unutmayınız.

int main(int argc, const char * argv[]) {
    
    printf("Bir sayı giriniz : ");
    
    // Konsoldan sayı istenir
    
    int sayi;
    scanf("%d",&sayi);
    // Tamsayı tipinde(int) sayi değişkenini oluşturup bu değişkene konsoldan alınan değeri atıyoruz.
    
    while (sayi > 0){
        // Sayı sıfırdan büyük olduğu sürece tekrarlanacak :
        
        printf("%d \n",sayi%10);
        // Sayıyının 10 ile modu alınır (yani sayıyı 10'a böldüğümüzde kalan sayı döner) ve ekrana yazdırılır.
        
        sayi = sayi/10;
        // Sayı değişkeni 10'a bölünür ve sonuc sayi değişkenine atanır.
        
    }
    
    return 0;
}


C++ :
    
// Arda Mavi - ardamavi.com

// iostream kütüphanesini dahil etmeyi unutmayınız.

int main(int argc, const char * argv[]) {
    
    printf("Bir sayı giriniz : ");
    
    // Konsoldan sayı istenir
    
    int sayi;
    std::cin >> sayi;
    // Tamsayı tipinde(int) sayi değişkenini oluşturup bu değişkene konsoldan alınan değeri atıyoruz.
    
    while (sayi > 0){
        // Sayı sıfırdan büyük olduğu sürece tekrarlanacak :
        
        std::cout << sayi%10 << std::endl;
        // Sayıyının 10 ile modu alınır (yani sayıyı 10'a böldüğümüzde kalan sayı döner) ve ekrana yazdırılır.
        
        sayi = sayi/10;
        // Sayı değişkeni 10'a bölünür ve sonuc sayi değişkenine atanır.
        
    }
    
    return 0;
}

Örnek Konsol Çıktısı : Bir sayı giriniz : 1654 4 5 6 1
Umarım yararlı olmuştur.
Görüşleriniz ve önerileriniz benim için çok değerli.
Sorularınızı bekliyorum.
İyi çalışmalar.

Share this

2 Responses to "Sayıyı basamaklarına ayırma : Java, C#, Swift, C , C++"

  1. Uzun bir molanın ardından iyi olduğunu düşünüyorum.
    Bu konu en çok sorulan sorulardandı.

    YanıtlaSil