Birbirinden farkli tekrarsiz digit Yazdır
Kullanıcı Değerlendirmesi: / 0
ZayıfEn iyi 
ilyas tarafından yazıldı   
Pazartesi, 09 Mart 2009 21:21

Bir birinden farkli tekrarsiz digit yazma programi.rakamlar kendi içlerinde tekrarsiz olarak random olarak atanıyor. Nerelerde kullanabileceği amacı ise size baglı:)Belki bu koddan sayı tahmin etmek yada sayı bulma gibi bir kod çıkarılabilir:)Kolay gelsin

  • #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
  • #define SIZE 50
    int rand_number(void);// sayi üretme fonksiyonu
    int is_valid(int number);//ayni rakam varmi yokmu kontrolünü yapan fonksiyon
    int main(void)
    {
    int i, a[SIZE];
    srand(time(NULL));
    for (i = 0; i < SIZE; i++)
    while (!is_valid(a[i] = rand_number())) ;
    for (i = 0; i < SIZE; i++)
    printf("%d ", a[i]);
    putchar('\n');
    return 0;
    }
    int rand_number(void)// 1000 ile 9999 arasinda rasgele sayi ureten fonksiyon
    {
    return rand() % 9000 + 1000;
    }
    int is_valid(int number)
    {
    int temp, i, j;
    for (i = 0; i < 10; i++) {
    j = 0;
    temp = number;
    while (temp > 0) {
    if (temp % 10 == i)
    j++;
    if (j > 1)
    return 0;
    temp /= 10;
    }
    }
    return 1;
    }
Son Güncelleme ( Pazartesi, 09 Mart 2009 21:33 )