Çözüldü C dilinde 4 basamaklı sürekli farklı sayı üretme

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

CrevZZ

Hectopat
Katılım
9 Temmuz 2020
Mesajlar
147
Merhaba, kolay gelecektir fakat gerçekten yapamadım. 4 basamaklı bir random sayı üretmek istiyorum. Ama ya istediğim gibi 4 basamaklı üretmiyor 2 basamaklı üretiyor. Ya da her seferinde yani her çalıştırmada aynı sayıyı üretiyor. Nasıl hem her çalıştırmada aynı sayıyı üretmeden hem de her seferinde 4 basamaklı sayı üreten random komutu yazabilirim?
 
Çözüm
srand kullanıp sayacı sıfırlamalısınız. rand ile rastgele sayı üretiyorsunuz zaten. Ama modunu alıp 4 basamaklı olmasını sağlamalısınız.

Kod:
#include <stdio.h>
#include <stdlib.h>

#define MAX 9000
#define K 1000

int main(){
    srand(time(0));
   
    int a = 0;
   
    for(int i = 0; i < 10; ++i){
        a = rand() % MAX + K;
        printf("%d\n", a);
    }

    return 0;
}
srand kullanıp sayacı sıfırlamalısınız. rand ile rastgele sayı üretiyorsunuz zaten. Ama modunu alıp 4 basamaklı olmasını sağlamalısınız.

Kod:
#include <stdio.h>
#include <stdlib.h>

#define MAX 9000
#define K 1000

int main(){
    srand(time(0));
   
    int a = 0;
   
    for(int i = 0; i < 10; ++i){
        a = rand() % MAX + K;
        printf("%d\n", a);
    }

    return 0;
}
 
Son düzenleme:
Çözüm
srand kullanıp sayacı sıfırlamalısınız. rand ile rastgele sayı üretiyorsunuz zaten. Ama modunu alıp 4 basamaklı olmasını sağlamalısınız.

Kod:
#include <stdio.h>
#include <stdlib.h>

#define MAX 10000

int main(){
    srand(time(0));
   
    int a = 0;
   
    for(int i = 0; i < 10; ++i){
        a = rand() % MAX;
        printf("%d\n", a);
    }

    return 0;
}
Hocam bu kod kesin olarak 4 basamaklı sayı üretmez ki. a= rand()%9000+1000 bu kesin olarak 1.000 ile 10.000 arası sayı üretir.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı