Chúng ta sẽ thảo luận về một chương trình C ++ có thể tạo ra các số thập lục phân ngẫu nhiên. Ở đây chúng ta sẽ sử dụng các hàm rand () và itoa () để thực hiện giống nhau. Hãy để chúng tôi thảo luận về các chức năng này một cách riêng biệt và phân loại.
rand (): Hàm rand () là một phương thức được xác định trước của C ++. Nó được khai báo trong tệp tiêu đề
itoa (): Nó trả về giá trị đã chuyển đổi của một số thập phân hoặc số nguyên. Nó chuyển đổi giá trị thành một chuỗi được kết thúc bằng null với một cơ sở được chỉ định. Nó lưu trữ giá trị đã chuyển đổi vào một mảng do người dùng xác định.
Cú pháp
itoa(new_n, Hexadec_n, 16);
Ở đây new_n là bất kỳ số nguyên ngẫu nhiên nào và Hexadec_n là mảng do người dùng xác định và 16 là cơ sở của số thập lục phân. Điều đó có nghĩa là trong việc chuyển đổi một số thập phân hoặc số nguyên thành số thập lục phân.
Thuật toán
Begin Declare max_n to the integer datatype. Initialize max_n = 100. Declare min_n to the integer datatype. Initialize min_n = 1. Declare an array Hexadec_n to the character datatype. Declare new_n to the integer datatype. Declare i to the integer datatype. for (i = 0; i < 5; i++) new_n = ((rand() % (max_n + 1 - min_n)) + min_n) Print “The random number is:”. Print the value of new_n. Call itoa(new_n, Hexadec_n, 16) method to convert a random decimal number to hexadecimal number. Print “Equivalent Hex Byte:” Print the value of Hexadec_n. End.
Ví dụ
#include<iostream> #include<conio.h> #include<stdlib.h> using namespace std; int main(int argc, char **argv) { int max_n = 100; int min_n = 1; char Hexadec_n[100]; int new_n; int i; for (i = 0; i < 5; i++) { new_n = ((rand() % (max_n + 1 - min_n)) + min_n); //rand() returns random decimal number. cout<<"The random number is: "<<new_n; itoa(new_n, Hexadec_n, 16); //converts decimal number to Hexadecimal number. cout << "\nEquivalent Hex Byte: " <<Hexadec_n<<endl<<"\n"; } return 0; }
Đầu ra
The random number is: 42 Equivalent Hex Byte: 2a The random number is: 68 Equivalent Hex Byte: 44 The random number is: 35 Equivalent Hex Byte: 23 The random number is: 1 Equivalent Hex Byte: 1 The random number is: 70 Equivalent Hex Byte: 46