|
Birbirinden farkli tekrarsiz digit |
|
|
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 )
|