Çö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
142
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.
 

Geri
Yukarı