亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言二維數組中的查找的實例

發布時間:2020-09-25 23:22:28 來源:腳本之家 閱讀:178 作者:Dear_Mr 欄目:編程語言

C語言二維數組中的查找的實例

題目描述:在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數

思路描述:一個數字的下方和右方是比它本身大的區域,而左方和上方時比它本身小的區域。選取右上角的數字進行比較,當該數大于指定的數時,舍去該列,當該數小于指定的數時,舍去該行,當相等時,則表示找到

C語言實現:

#include<stdio.h>
#include<stdlib.h>

typedef unsigned int boolean;
#define MAX 4
#define TRUE 1
#define FALSE -1

void showAry(int ary[MAX][MAX]);
boolean find(int ary[MAX][MAX], int rows, int cols, int number);

void showAry(int ary[MAX][MAX]) {
  int i = 0, j = 0;
  for(; i < MAX; i++) {
    j = 0;
    for(; j < MAX; j++) {
      printf("%d ", ary[i][j]);
    }
  }
}

boolean find(int ary[MAX][MAX], int rows, int cols, int number) {
  int i = 0, 
    j = cols - 1,
    n = 0;
  boolean result = FALSE;

  if(ary == NULL || rows <= 0 || cols <= 0) {
    return result;
  }

  while(i < rows && j >= 0) {
    n = ary[i][j];
    if(number == n) {
      printf("\nary[%d, %d] = %d\n", i, j, n);
      result = TRUE;
      break; 
    }else if(number < n) {
      j -= 1; 
    }else if(number > n) {
      i += 1;
    }
  }
  return result;
}

//1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15
int main() {
  int ary[MAX][MAX];
  int i = 0, j = 0;

  for(; i < MAX; i++) {
    j = 0;
    for(; j < MAX; j++) {
      scanf("%d", &ary[i][j]);
    }
  }
  showAry(ary);
  find(ary, MAX, MAX, 7);
}

以上就是講解C語言二維數組中的查找的實例,希望能幫助需要同類型問題的朋友,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延安市| 钟山县| 泗水县| 北川| 阳西县| 康定县| 津市市| 青州市| 新绛县| 从化市| 辛集市| 资中县| 集安市| 巴塘县| 福清市| 保山市| 吉水县| 平顶山市| 泽库县| 龙井市| 白水县| 沈阳市| 福鼎市| 沅江市| 阳春市| 揭西县| 肇庆市| 化州市| 休宁县| 娄烦县| 平遥县| 沾益县| 沙洋县| 禄劝| 泸水县| 泰兴市| 台南市| 九龙县| 抚顺市| 揭西县| 类乌齐县|