Çözüldü Random byte üretmek

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Çözüm
C++:
#include <bitset>
#include <cstddef>
#include <iostream>
#include <ctime>

std::ostream& operator<<(std::ostream& os, std::byte b)
{
    return os << std::bitset<8>(std::to_integer<int>(b));
}

std::byte random_byte() {
    std::byte b{rand()};
    return b;
}

int main() {
    srand((unsigned int)time(NULL));
    std::cout << random_byte() << "\n";
    std::cout << random_byte() << "\n";
    std::cout << random_byte() << "\n";
    return 0;
}
Kod:
00001010
11111100
01110110
C++:
#include <iostream>
#include <random>

int main() {
 std::random_device rd;
 std::mt19937 gen(rd());
 std::uniform_int_distribution<> dis(0, 255);

 unsigned char randomBytes[10];
 for (int i = 0; i < 10; ++i) {
 randomBytes[i] = dis(gen);
 }

 for (int i = 0; i < 10; ++i) {
 std::cout << std::hex << static_cast<int>(randomBytes[i]) << " ";
 }
 std::cout << std::endl;

 return 0;
}
Hocam bir arkadaşıma sorduğumda böyle bir kod verdi doğru mu yanlış mı bilmiyorum.

Sağ olun hocam ama bunu fonksiyona entegre edebilir misiniz? Kusura bakmayın 5-6 aydır C++ ile kodlamadım belki de unuttum bayağı.
 
C++:
#include <bitset>
#include <cstddef>
#include <iostream>
#include <ctime>

std::ostream& operator<<(std::ostream& os, std::byte b)
{
    return os << std::bitset<8>(std::to_integer<int>(b));
}

std::byte random_byte() {
    std::byte b{rand()};
    return b;
}

int main() {
    srand((unsigned int)time(NULL));
    std::cout << random_byte() << "\n";
    std::cout << random_byte() << "\n";
    std::cout << random_byte() << "\n";
    return 0;
}
Kod:
00001010
11111100
01110110
 
Son düzenleme:
Çözüm
Fonksiyona dahi dökemediğin C++ kodunu ne yapacaksın ki?
Sağ olun hocam ama bunu fonksiyona entegre edebilir misiniz? Kusura bakmayın 5-6 aydır C++ ile kodlamadım belki de unuttum bayağı.



C++:
#include <bitset>
#include <cstddef>
#include <iostream>
#include <ctime>

std::ostream& operator<<(std::ostream& os, std::byte b)
{
    return os << std::bitset<8>(std::to_integer<int>(b));
}

std::byte random_byte() {
    srand((unsigned int)time(NULL));
    std::byte b{rand()};
    return b;
}

int main() {
    std::cout << random_byte();
    return 0;
}
srand bir kere başlatılmalı aksi halde random sayı üretmez.
 
Son düzenleme:

Technopat Haberler

Yeni konular

Geri
Yukarı