# data[].attributes.attachment_caption
<單一期別/號碼的排序>

# data[].attributes.body
六個 1~100 的 "偶數" 變數,存於陣列中,並列印出來 (數量/範圍/條件)

# data[].attributes.body
1. 檢查陣列中的資料, 確認號碼不重覆
2. 如果陣列中已經有該筆資料，即重新取亂數

# data[].attributes.body
1.於程式開始運行時詢問需要抽出幾期的大樂透號碼
2.將得到的數字作為取亂數的輪數並將結果分別儲存進陣列
3. 每產生一輪，以該輪輸出該期號碼
4.須利用int n; //抽出輪數

# data[].attributes.body
1.於程式開始運行時產出10期大樂透抽獎號碼，然後詢問需要第幾期的大樂透號碼進行兌獎
2.將得到的數字取出大樂透抽獎號碼，並以[第Ｘ期中獎號碼：xx. xx. xx. xx. xx. xx / 特別號：xx]的形式輸出
3.將取出亂數的數量改為7個，並將存於數列中的第一個數字不進行排序
4.將不進行排序的數字做為特別號，其他則為中獎號碼

# data[].attributes.body
1.於程式開始運行時產出10期大樂透抽獎號碼，然後先詢問需兌獎的期別，後詢問使用者於該期的大樂透號碼
2.將得到的結果確認該期的大樂透抽獎號碼，並以[第Ｘ期/xx：中獎(沒中獎)]的形式輸出，中獎或沒中獎的輸出視使用者於該期的大樂透號碼是否於該陣列中
3.於輸出完畢後，詢問是否繼續，如果是再次先詢問需兌獎的期別，後詢問使用者於該期的大樂透號碼

# data[].attributes.body
1. 產生一組抽獎號(1-49)
2. 將產生的抽獎號加上排序 (由小到大)
3. 將排序前後的陣列(result) 結果印出來(以陣列/串列儲存)

# data[].attributes.body
/*************************
#  高二進階程式設計   *
#    大樂透程式開發     *
#      206-19-宋承曄          *
#    <抽籤/取亂數 >      *
**************************/
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int main() {
int evenNumbers[50];
int counter = 0;
srand(time(0));

for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) {
evenNumbers[counter++] = i;
}
}

int randomNumbers[6];
for (int i = 0; i < 6; i++) {
int index = rand() % counter;
randomNumbers[i] = evenNumbers[index];
counter--;
evenNumbers[index] = evenNumbers[counter];
}

cout << "Random even numbers: ";
for (int i = 0; i < 6; i++) {
cout << randomNumbers[i] << " ";
}
return 0;
}

# data[].attributes.body
/**********************
*  高二進階程式設計   *
*   大樂透程式開發  *
*   206-19-宋承曄    *
*  <六個數字的排序>   *
**********************/
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

// 氣泡排序法函數
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 如果相鄰的元素順序錯誤，則交換它們的位置
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}

int main() {
const int SIZE = 6;
int arr[SIZE];

srand(time(nullptr));

// 隨機生成6個1~49之間的數字
for (int i = 0; i < SIZE; i++) {
arr[i] = rand() % 49 + 1;
}

// 輸出排序前的數組
cout << "排序前的數組：";
for (int i = 0; i < SIZE; i++) {
cout << arr[i] << " ";
}
cout << endl;

// 使用氣泡排序法對數組進行排序
bubbleSort(arr, SIZE);

// 輸出排序後的數組
cout << "排序後的數組：";
for (int i = 0; i < SIZE; i++) {
cout << arr[i] << " ";
}
cout << endl;

return 0;
}

# data[].attributes.body
/**********************
*  高二進階程式設計   *
*   大樂透程式開發  *
*   206-19-宋承曄    *
*    <號碼不重覆  >  *
**********************/
#include <iostream>
#include <cstdlib> // for rand() and srand()
#include <ctime> // for time()
#include <algorithm> // for std::sort()
using namespace std;

// 氣泡排序法函數
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 如果相鄰的元素順序錯誤，則交換它們的位置
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}

int main() {
const int SIZE = 6;
int arr[SIZE];

srand(time(nullptr));

// 生成1~49的數列
int nums[49];
for (int i = 0; i < 49; i++) {
nums[i] = i + 1;
}

// 隨機選取6個不重複的數字(藉打亂數列，再取數列中前六個數字來達成)
random_shuffle(nums, nums + 49);
for (int i = 0; i < SIZE; i++) {
arr[i] = nums[i];
}

// 輸出排序前的數組
cout << "排序前的數組：";
for (int i = 0; i < SIZE; i++) {
cout << arr[i] << " ";
}
cout << endl;

// 使用氣泡排序法對數組進行排序
bubbleSort(arr, SIZE);

// 輸出排序後的數組
cout << "排序後的數組：";
for (int i = 0; i < SIZE; i++) {
cout << arr[i] << " ";
}
cout << endl;

return 0;
}

# data[].attributes.body
/**********************
*  高二進階程式設計   *
*   大樂透程式開發  *
*   206-19-宋承曄    *
*  <產生N期中獎號碼> *
**********************/
#include <iostream>
#include <cstdlib> // for rand() and srand()
#include <ctime> // for time()
#include <algorithm> // for std::sort()
using namespace std;

// 氣泡排序法函數
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 如果相鄰的元素順序錯誤，則交換它們的位置
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}

int main() {
const int SIZE = 6;
int arr[SIZE];

srand(time(nullptr));

// 詢問需要抽出幾期的大樂透號碼
int n; //抽出輪數
cout << "請輸入需要抽出幾期的大樂透號碼：";
cin >> n;

// 隨機抽出n組號碼
for (int round = 1; round <= n; round++) {
// 生成1~49的數列
int nums[49];
for (int i = 0; i < 49; i++) {
nums[i] = i + 1;
}

// 隨機選取6個不重複的數字(藉打亂數列，再取數列中前六個數字來達成)
random_shuffle(nums, nums + 49);
for (int i = 0; i < SIZE; i++) {
arr[i] = nums[i];
}

// 使用氣泡排序法對數組進行排序
bubbleSort(arr, SIZE);

// 輸出排序後的數組
cout << "第" << round << "期大樂透號碼：";
for (int i = 0; i < SIZE; i++) {
cout << arr[i] << " ";
}
cout << endl;
}

return 0;
}

# data[].attributes.body
/**********************
*  高二進階程式設計   *
*   大樂透程式開發  *
*   206-19-宋承曄    *
*    < 查詢期別  >    *
**********************/
#include <iostream>
#include <cstdlib> // for rand() and srand()
#include <ctime> // for time()
#include <algorithm> // for std::sort()
using namespace std;

// 氣泡排序法函數
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 如果相鄰的元素順序錯誤，則交換它們的位置
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}

int main() {
const int SIZE = 7;
int lotteryNumbers[10][SIZE];

srand(time(nullptr));

// 產生10期大樂透號碼
for (int round = 0; round < 10; round++) {
// 生成1~49的數列
int nums[49];
for (int i = 0; i < 49; i++) {
nums[i] = i + 1;
}

// 隨機選取7個不重複的數字(藉打亂數列，再取數列中前七個數字來達成)
random_shuffle(nums, nums + 49);
for (int i = 0; i < SIZE; i++) {
lotteryNumbers[round][i] = nums[i];
}

// 特別號為第一個數字
int specialNumber = lotteryNumbers[round][0];
// 不包括特別號的6個數字做排序
bubbleSort(&lotteryNumbers[round][1], SIZE - 1);

// 輸出排序後的數組
cout << "第" << round + 1 << "期中獎號碼：";
for (int i = 1; i < SIZE; i++) {
cout << lotteryNumbers[round][i] << " ";
}
cout << "/ 特別號：" << specialNumber << endl;
}

// 詢問需要查詢哪期大樂透號碼進行兌獎
int queryRound;
cout << "請輸入需要查詢的大樂透期數：";
cin >> queryRound;

// 輸出該期中獎號碼
int specialNumber = lotteryNumbers[queryRound - 1][0];
bubbleSort(&lotteryNumbers[queryRound - 1][1], SIZE - 1);
cout << "第" << queryRound << "期中獎號碼：";
for (int i = 1; i < SIZE; i++) {
cout << lotteryNumbers[queryRound - 1][i] << " ";
}
cout << "/ 特別號：" << specialNumber << endl;

return 0;
}

# data[].attributes.body
/**********************
*  高二進階程式設計   *
*   大樂透程式開發  *
*   206-19-宋承曄    *
*  <產生N期中獎號碼> *
**********************/
#include <iostream>
#include <cstdlib> // for rand() and srand()
#include <ctime> // for time()
#include <algorithm> // for std::sort()

using namespace std;

void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}

int main() {
const int SIZE = 7;
const int NUM_ROUNDS = 10;
int lotteryNumbers[NUM_ROUNDS][SIZE];

srand(time(nullptr));

for (int round = 0; round < NUM_ROUNDS; round++) {
int nums[49];
for (int i = 0; i < 49; i++) {
nums[i] = i + 1;
}

random_shuffle(nums, nums + 49);
for (int i = 0; i < SIZE; i++) {
lotteryNumbers[round][i] = nums[i];
}

int specialNumber = lotteryNumbers[round][0];
bubbleSort(&lotteryNumbers[round][1], SIZE - 1);

cout << "第" << round + 1 << "期中獎號碼：";
for (int i = 1; i < SIZE; i++) {
cout << lotteryNumbers[round][i] << " ";
}
cout << "/ 特別號：" << specialNumber << endl;
}

char continueOption = 'y';
while (continueOption == 'y' || continueOption == 'Y') {
int queryRound;
cout << "請輸入需要查詢的大樂透期數：";
cin >> queryRound;

int userNumbers[SIZE];
cout << "請輸入您在該期的大樂透號碼（共" << SIZE << "個號碼）：";
for (int i = 0; i < SIZE; i++) {
cin >> userNumbers[i];
}

int specialNumber = lotteryNumbers[queryRound - 1][0];
bubbleSort(&lotteryNumbers[queryRound - 1][1], SIZE - 1);

cout << "第" << queryRound << "期中獎號碼：";
for (int i = 1; i < SIZE; i++) {
cout << lotteryNumbers[queryRound - 1][i] << " ";
}
cout << "/ 特別號：" << specialNumber << endl;

// Check if user's numbers match
bool isWinning = true;
for (int i = 0; i < SIZE; i++) {
if (find(userNumbers, userNumbers + SIZE, lotteryNumbers[queryRound - 1][i]) == userNumbers + SIZE) {
isWinning = false;
break;
}
}

if (isWinning) {
cout << "[第" << queryRound << "期]：中獎！" << endl;
} else {
cout << "[第" << queryRound << "期]：沒中獎" << endl;
}

cout << "是否繼續？（輸入 y 或 Y 繼續，其他任意鍵(不含空白及Enter鍵)退出）：";
cin >> continueOption;
}

return 0;
}