IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   C ve C++ (https://www.ircforumlari.net/c-ve-c/)
-   -   Kaprekar Sayılar (https://www.ircforumlari.net/c-ve-c/455603-kaprekar-sayilar.html)

aSi 22 Şubat 2012 14:53

Kaprekar Sayılar
 
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Girilen sayını kaprekar olup olmadığını araştıran program
.

Kod:

#include<stdio.h>
#include<conio.h>
/* Kaprekar Sayılar */
main(){
    int sayi,sakla, sayac=0, i, kucuk=-1, buyuk, minisayac;
    int dizi[4];;
    printf("Gireceginiz sayinin kaprekar sayi olup olmadigi kontrol edilecektir.\n\n");
    do{
        printf("Dort basamakli sayi giriniz: ");
        scanf("%d",&sayi);
    }while(sayi>10000 || sayi<999);

    do{
        sayac++;
        if(sayac>7)break;
        if(kucuk!=-1)sayi=buyuk-kucuk;
        // basamaklarina ayir
        dizi[0]=sayi/1000;
        dizi[1]=(sayi-dizi[0]*1000)/100;
        dizi[2]=(sayi%100)/10;
        dizi[3]=sayi%10;
        //sayi buyukten kucuge sýralanýr
        do{
            minisayac=0;
            for(i=0;i<=2;i++){
                if(dizi[i]>dizi[i+1]){
                    sakla=dizi[i];
                    dizi[i]=dizi[i+1];
                    dizi[i+1]=sakla;
                    minisayac++;
                    }
            }
        }while(minisayac!=0);
        buyuk=dizi[0]+dizi[1]*10+dizi[2]*100+dizi[3]*1000;
        // sayi kucukten buyuge siralanir
        do{
            minisayac=0;
            for(i=0;i<=2;i++){
                if(dizi[i]<dizi[i+1]){
                    sakla=dizi[i];
                    dizi[i]=dizi[i+1];
                    dizi[i+1]=sakla;
                    minisayac++;
                    }
            }
        }while(minisayac!=0);
        kucuk=dizi[0]+dizi[1]*10+dizi[2]*100+dizi[3]*1000;
        // islemlerin dogrulugunu test etmek icin printf fonksiyonu konuldu
        printf("Asama %d: %d-%d=%d\n",sayac,buyuk,kucuk,buyuk-kucuk);

    }while(buyuk-kucuk!=6174);

    if(sayac>7) printf("\ngirdiginiz sayi, kaprekar sayi degildir.");
    if(buyuk-kucuk==6174) printf("\n%d. dereceden kaprekar sayidir.",sayac);

getch();
}




Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 00:12.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk