先隨機生成一百個數字,然後用二分法找C中的數字寫,求師傅! 100

發布 科技 2024-05-25
21個回答
  1. 匿名使用者2024-01-29

    c 程式:使用系統;

    class program

    static void main()

    int arr = new int[100];

    int max = 100;

    int key;

    int pos;

    初始化陣列並對其進行排序。

    initarray(arr, max);

    sort(arr);

    查詢資料。 查詢值:");

    key =pos = find(arr, key);

    if (pos == -1)

    查詢表中不存在", key);

    第乙個出現位置是", key, pos);

    查詢表:");

    print(arr);

    初始化陣列,陣列元素的最大值為 max

    static void initarray(int arr, int max)

    random rand = new random();

    for (int i = 0; i < i++)arr[i] = ;

    陣列元素按非遞減方式排序(簡單選擇排序)。

    static void sort(int arr)int i, j, k;

    int temp;

    for (i = 0; i < 1; i++)k = i;

    for (j = i + 1; j < j++)if (arr[j] k = j;

    if (k != i)

    temp = arr[k];

    arr[k] = arr[i];

    arr[i] = temp;

    如果是這樣,則返回索引號,否則為 -1。

    static int find(int arr, int key)int low = 0;

    int high = - 1;

    int mid = 0;

    while (low <= high)

    mid = (low + high) / 2;

    if (key == arr[mid])

    return mid;

    else if (key < arr[mid])high = mid - 1;

    elselow = mid + 1;

    return -1;

    每行包含 10 個元素的輸出查詢表。

    static void print(int arr)for (int i = 0; i < i++)"", arr[i]);

    if (i % 10 == 9)

    執行測試:<>

  2. 匿名使用者2024-01-28

    我不懂c,但除了語法之外,方法都是一樣的。

    先對生成的數字進行排序(比如從小到大),然後把中間和要找的數字比對,大於中間的數字就放棄左找,否則丟棄右邊,然後繼續拿中間數的剩餘一半,和要找的數字比對...... 遞迴過程。

  3. 匿名使用者2024-01-27

    引導你寫作,而不是為你寫作。

    如果要自己編寫,請新增986398487

    我不會為你寫的。

  4. 匿名使用者2024-01-26

    我本來打算補的,但算了,樓下比我快,你可以選擇他。

  5. 匿名使用者2024-01-25

    二分法找到乙個數字,必須對原來的序列進行排序,注意序列中數字相同時該怎麼辦,即只有乙個無效的 binsrch( int m[n],int k)}printf("我沒有找到這個號碼,所以很抱歉");

    return 0;}

  6. 匿名使用者2024-01-24

    二分法找乙個數字,原序列必須排序,有問題,序列中數字相同時怎麼辦,即只找到其中乙個 void binsrch( int m[n],int k)}printf("我沒有找到這個號碼,所以很抱歉");

    return;}

  7. 匿名使用者2024-01-23

    int binarysearch(int a,int x,int n)

    return -1;

    我認為書中有乙個這樣的例子。

  8. 匿名使用者2024-01-22

    二樓的那個似乎是對的,但一樓的那個卻不是。

  9. 匿名使用者2024-01-21

    首先對二進位方法中找到的值進行排序。

  10. 匿名使用者2024-01-20

    #include

    using namespace std;

    A 是查詢陣列,二分查詢的前提是 A 中資料的順序是有序的。 key 是要找到的變數,n 是陣列 a 的長度。

    int binary( int *a, int key, int n )

    if( a[mid] == key ) return mid;

    return -1;

    呼叫:在陣列 a 的下標中查詢陣列 b 的位置(當 a 中不存在 b 中的資料時,將其替換為 -1)。

    int main()

    int i,b,c;

    cout <<"輸入 10 個從小到大的整數:";

    for(i=0;i<10;i++)

    cin >>a[i];

    cout <<"輸入要查詢的號碼:";

    cin >>b;

    c = binary(a,b,10);

    if(c!=-1)

    cout <<"找到,序列號:"<

  11. 匿名使用者2024-01-19

    intbinsearch(int*a,intn,inte) ***a 是陣列,n 是陣列大小,e 是要查詢的元素 * {intlow,mid,high;low=0;high=n-1;while(lowe)high=mid-1;elseif(a[mid]

  12. 匿名使用者2024-01-18

    include 不使用 math 標頭。

    void main()

    hing 和 low 被分配了初始值。

    scanf("%d",&k);

    while (high>=low)//>=}printf("no");

    return;if 語句}

  13. 匿名使用者2024-01-17

    #include

    #include

    void main()

    scanf("%d",&k);

    high=9, low=0;初始值不應忘記 while (high>=low),條件為 “” = if (k!=a[m])

    else}

  14. 匿名使用者2024-01-16

    二分查詢也稱為摺疊半字搜尋;

    這個想法是。 恩!

    例如,在 0,1,2,3,4,5,6,7,8 中找到 5,取陣列的一半,即將地面 5 4 與 5 進行比較,如果為 4>5(即中間的數字大於你要找的數字,則取該數字前面的部分); 如果是4<5(即中間的數字比你要找的數字小,那麼在數字後面取部分); 依此類推;

    對不起,我沒有學好這門語言,表達不清楚。

  15. 匿名使用者2024-01-15

    int bsearch(elemtype a,elemtype x,int low,int high)

    在陣列 a 中,該陣列在下乙個會話中為低值,在上限中為高值,資料元素 x* 位於兩半

  16. 匿名使用者2024-01-14

    遞迴實現,建構函式。 C++程式,試一試:

    #include

    using namespace std;

    int search(int ,int,int,int);

    int main()

    int left=0;

    int right=sizeof(word)/sizeof(int)-1;計算陣列長度未正確寫入。

    int result;

    key = 9;

    result=search(word,left,right,key);

    cout<<"要找到的數字有乙個序號:"

  17. 匿名使用者2024-01-13

    在 中執行。

    一:(指出了三者中沒有注意到的一些問題):

    #include

    using namespace std;

    int main(void)

    其實如果用10個數字來查詢,引數n是完全沒有必要的“**二:”:

    #include

    using namespace std;

    int main(void)

    **三:》:

    如果你想在你輸入的元素中找到乙個數字(即你輸入的元素數量不是固定的),你可以新增乙個引數 n 並使用它來傳遞陣列中的元素數。

    #include

    using namespace std;

    int main(void)

  18. 匿名使用者2024-01-12

    int binsearch(int r[10],int k,10) 這 10 肯定是錯的 去掉它,一般作為模板,應該新增乙個引數 int n 來指示陣列的大小。

    我測試了這個程式,沒錯,你可以刪除 10 個。

    此函式可以擴充套件到任何大小的陣列的二進位查詢。

  19. 匿名使用者2024-01-11

    我今天剛做到了!

    #include

    using namespace std;

    int binsearch(int r[10],int k)return -1;當低>高時,表示搜尋間隔為空,搜尋失敗。

    /binseareh

    int main()

    cout<<"請輸入查詢次數:"<>k;

    m=binsearch( r, k);

    if(m==-1) cout<<"該號碼不存在"

  20. 匿名使用者2024-01-10

    檔案末尾有乙個結束符號,以及檔案的寫入方式,vi 有時會在末尾自動新增換行符。

    你看的時候是不是也看了,然後n又加了一點。

    閱讀文件後,將清楚地看到列印了多少 n。

  21. 匿名使用者2024-01-09

    **這樣寫,讓人看。

相關回答
24個回答2024-05-25

1.輝煌的過去在歷史的史冊上熠熠生輝,光明的現在不斷延伸,光明的未來需要穩步開拓。 >>>More

12個回答2024-05-25

《百個問號後誕生的真理》是六年級語文第二卷第五單元的第二篇正文。 >>>More

41個回答2024-05-25

有錢就不能任性,現在腐敗很厲害,不要牽扯到你的家人。

12個回答2024-05-25

沒有解決方案。 假設老人的數量是男孩 y 和女孩數量 z 的 5 倍,根據標題,x 必須是乙個整數。 >>>More

3個回答2024-05-25

陰鬱和悲傷 心平氣和心 巴巴搶劫 百感交集 喜怒哀樂 藍海藍天 不緊不慢 屏住呼吸 憋住呼吸 悲喜交織 憂傷與憂愁交織 長夜春風 驕傲的茶公尺 無情的湯 紫海鱸魚 春暉寸草 鱸魚 洶湧澎湃的思緒 徘徊 缺乏慾望 寧靜 明志, 寧靜深遠 對明志無動於衷,寧靜深遠 腰背無休止地從眼中搶奪 鳳凰瘋龍 狂躁浪費 反而擔心胃 感恩 木頭 死灰 等著瞧,像箭一樣回心,像箭一樣回心 寒意 卓鶴怨 猿猴 驚慌 焦急 杵杵 心跳加速 長旱甘甜雨灑下恐慌 近家鄉 膽怯喝 柳柳垂花 今早 食物滿滿的抱怨,滿滿的春風,