| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2728 人关注过本帖
标题:求解,为什么不能重新检测数字是否重复
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不管做什麽,學習也好,工作也好,積累的就是自己拿手的一套工具,那才是自己謀生的資本。用什麽語言就積累一套該語言的工具庫和用法,做項目沒有規定非要什麽語言不可,都能做,那就靠自己平時的積累。所謂多寫,就是積累的過程,一定要培養這種意識,這裏太多(新)人是重複勞動不覺累還樂在其中的,那對工作不利,意識問題,固化了很難改的,真投到這行中的話,那就是素質問題了,僱主會做這種評價的。

授人以渔,不授人以鱼。
2016-01-06 17:31
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
生成10組六合彩號碼
程序代码:
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <conio.h>

//----------------------------
// 檢測value是否在數組list中存在
//----------------------------
bool IsExist(int value, const int* list, size_t size)
{
    bool found = false;
    for (size_t index = 0; index < size; ++index)
    { 
        if (value == list[index])
        {
            found = true;
            break;
        }
    }
    return found;
}

//----------------------------
// 輸出數組
//----------------------------
void Show(const int* arr, size_t size)
{
    for (size_t index = 0; index < size; ++index)
    {
        printf_s("%2d ", arr[index]);
    }
    putchar('\n');
}

//----------------------------
// 程序入口
//----------------------------
int main(void)
{
    srand((unsigned)time(NULL));        // 初始化偽隨機數生成器
    rand();                                // 捨去第一個隨機數,很關鍵的一步!

    int arr[6];                            // 隨機數存儲數組
    const int min_value = 1;            // 隨機數最小値
    const int max_value = 49;            // 隨機數最大値
    const size_t times = 10;            // 生成隨機數組的次數
    for (size_t count = 0; count < times; ++count)
    {
        for (size_t index = 0; index < _countof(arr); ++index)
        {
            int value;
            do
            {
                value = (int)((double)rand() / (RAND_MAX + 1) * (max_value - min_value) + min_value);
            } while (IsExist(value, arr, index));
            arr[index] = value;
        }
        Show(arr, _countof(arr));
    }

    _getch();
    return EXIT_SUCCESS;
}


[此贴子已经被作者于2016-1-6 19:05编辑过]


授人以渔,不授人以鱼。
2016-01-06 19:00
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
這是簡單但最直接的實現方法,對小數組來説,效率足够了,當數組比較大的時候,效率取決於函數IsExist(),此時針對這個函數做優化即可,主程序的用法不用變化。

授人以渔,不授人以鱼。
2016-01-06 20:02
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1744
专家分:3216
注 册:2015-12-2
收藏
得分:0 
版主用vs什么类型项目编译的呀?我编译不了。
2016-01-06 20:54
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用ehszt在2016-1-6 20:54:52的发言:

版主用vs什么类型项目编译的呀?我编译不了。

C++空项目就可以了

授人以渔,不授人以鱼。
2016-01-06 21:15
qq_s15
Rank: 2
等 级:论坛游民
帖 子:30
专家分:28
注 册:2015-7-18
收藏
得分:0 
回复 25楼 wmf2014
感谢版主。我的彩票系统终于完成了(第一个自己写的喔)。
2016-01-08 10:54
快速回复:求解,为什么不能重新检测数字是否重复
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018422 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved