folder Tahribat.com Forumları
linefolder C - C++
linefolder C‘ De Binary Problem Ve Çözümü Hakkında (Yardım)



C‘ De Binary Problem Ve Çözümü Hakkında (Yardım)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    anubisx
    anubisx's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    Arkadaşlar kodun amacı sayıların ve harflerin binary karşılıklarını hesaplayıp yazdırmak ve bunu yaparken random yerlerde çıkıp yazıcak bu konuda kodlar çalışıyor ama, çalıştırırsanız farkedersiniz ilk binary i yazdıktan sonra ardından gelen binarylerde 1 xxxxxxx  şeklinde başına 1 ve boşluk koyuyor bunun sebebini anlayamadım kodlar aşağıda yardımcı olursanız sevinirim.

     

     

    #include

    #include

    #include

    #include

    #include

     

    int binaryc(int b) //binary hesaplayan fonks bu

    {

        if(b==1)    printf("%d",b);

     

        else

        {

            binaryc(b/2);

            printf("%d",b%2);

        }

    }

    void sleep( clock_t wait ) //sleep fonks tanımlandı

    {

        clock_t goal;

        goal = wait + clock();

        while( goal > clock() );

    }

     

     

     

    int main()

    {

        int i,t,x;

        int v,y;

        int rany,ranx;

        char  ch[36] = {'1','2','3','4','5','6','7','8','9','0','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};

         srand(time(0));

     

        for(i=0;i<=35;i++)

        {

            t = ch[i];

            x= binaryc(t);

            /*  */

            sleep(1000);

            rany = rand()%69;   //burdan itibaren random yerlere yazdırma kodu devrede

            ranx = rand()%22;

     

            for(v=0;v<=ranx;v++)

            {

                printf(" \n");

            }

                for(y=0;y<=rany;y++)

                {

                    printf(" ");

                }

                printf("%d ",x);  

                /*  */

     

        }

     


    http://yigitdemirag.com
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    anubisx
    anubisx's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    en sondaki printf teki yani  printf("%d ",x)        te %d ile " arasındaki boşluğu silince daha farklı fazladan boşluk koyunca daha farklı sonuç veriyor nasıl üstesinden gelebilirim bunun


    http://yigitdemirag.com
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    seretide
    seretide's avatar
    Kayıt Tarihi: 14/Haziran/2010
    Erkek

     x= binaryc(t); senin binaryc fonksiyonun bişey döndürmüyoki.O fonksiyon sayının değerini yazdırıyo hemde sen döndürüyomuş gibi ayrı olarak mainin içinde yazdırmışın


    Saçma
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    anubisx
    anubisx's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    seretide bunu yazdı:
    -----------------------------

     x= binaryc(t); senin binaryc fonksiyonun bişey döndürmüyoki.O fonksiyon sayının değerini yazdırıyo hemde sen döndürüyomuş gibi ayrı olarak mainin içinde yazdırmışın


    ----------------------------- 

    ben hala bir problem göremedim düzeltebilir misin ?


    http://yigitdemirag.com
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    anubisx
    anubisx's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    up arkadaşlar halleden çıkmadı mı ? 


    http://yigitdemirag.com
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    guru
    guru's avatar
    Kayıt Tarihi: 30/Mart/2007
    Erkek

    int binaryc(int b);

    bu fonksiyon geriye parametre olarak aldigi sayinin binary tabanli sayi seklini geri dondurmuyo. yaptigi sey parametre olarak aldigi sayiyi ikili (binary) tabanda ekrana basmak.  fonksiyondan bir seyle donulmedigi icin, fonksiyonun geri dondurdugu deger bizimle alakasi olmayan, fonksiyondan cikilmadan once yazmacta kalan gereksiz bi deger.

    fonksiyonunu duzeltebilirsin, yani geri dondurdugu deger olarak, parametre olarak aldigi sayinin ikili tabanda karsiligi olan sayiyi dondurucek veya
    -anladigim kadariyla- ekranin herhangi bi bolgesine 1101011 seklinde yazi yazdirmak istiyosun, bunu istiyosan, cursor'u istedigin bi bolgeye getirip, bu fonksiyonu oraya yazmasi icin tekrar tekrar cagirabilirsin.



    ..
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    guru
    guru's avatar
    Kayıt Tarihi: 30/Mart/2007
    Erkek

    mesela linux sistemlerinde terminal'in o anki boyutuna bagli olarak, rastgele yerlere 1 veya 0 yazicak kod parcasi.

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <curses.h>
    #include <unistd.h>
    
    
    
    int main (int argc, const char * argv[]) {
    	
    	/*
    	 win32'deki SetCursorPos, GetCursorPos gibi islemler icin
    	 posix kutuphanelerinde -curses kutuphanesi- mevcut.
    	 bu kutuphaneyi baglama islemine katmak icin
    	 gcc ye -lcurses parametresini de eklemeliyi unutmayalim ;).
    	 */
    	
    	int rndX, rndY;
    	int width, height;
    	
    	
    	initscr();
    	
    	
    	width = getmaxx(stdscr); 
    	height = getmaxy(stdscr);
    	
    	clear();
    	
    	refresh();
    	
    	srand(time(NULL));
    	
    	for (int i = 0, fn = width * height;
    		 i < fn;
    		 ++i) {
    		rndX = rand() % width;
    		rndY = rand() % height;
    		
    		mvprintw(rndY, rndX, "%d", rand() & 1);
    		refresh();
    		
    		usleep(10 * 1000);
    	}
    	
    	endwin();
        
    	return 0;
    }

     


    ..
Toplam Hit: 1297 Toplam Mesaj: 7