按 C 語言中的指定規則對給定的二維陣列進行排序

發布 科技 2024-06-11
10個回答
  1. 匿名使用者2024-01-29

    這很簡單,但是我沒有裝的,也不會幫你看的,你看課本分類,設定一下,應該不難。

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

    #include

    #include

    #include

    intmain()

    inti,j,n,k,t,a[100];

    srand((unsigned)time(null));

    rand() 函式用於生成隨機數,rand()%n 生成小於 n 的隨機數,然後交換這些隨機數。

    執行結果:

    #include

    #include

    intmain()

    int&nbs

    rand() 函式用於生成隨機數,rand()%n 生成小於 n 的隨機數,然後交換這些隨機數。

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

    您可以使用 random() 函式。 首先確保陣列中有 n 個元素,然後讓 randdom() 函式生成從 0 到 n-1 的不同隨機數,然後設定另乙個變數並交換陣列中的值。

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

    還有其他方法可以做到這一點,那就是使用雜湊列表,但是這樣會產生衝突,由此產生的衝突必須處理衝突,有時線性鍊表是用來處理衝突的,這很麻煩。

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

    需要準備的材料有:計算機和C語言編譯器。

    1. 首先,開啟 C 語言編譯器並建立乙個新的首字母。 CPP 檔案,例如:

    2. 在檔案中,輸入 C 語言**:

    int a[10] = ;

    std::sort(a, a + 10);

    for (int i = 0; i < 10; i++)printf("%d ", a[i]);

    3. 編譯器執行檔案,一維陣列的 10 個整數排序成功。

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

    #include

    int main()

    int i,j,min,t,a[10]=;

    printf("排序前的順序是:");

    for(i=0;i<10;i++) 輸出排序前的序列, printf("%5d",a);

    printf("");

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

    min=i;取每個週期的第乙個數字作為最小值(j=i+1; j<10;j++)

    if(a[min]>a[j])

    min=j;交換。

    if(min!=i) 表示第乙個數字不是最小值,因此將 a[i+1] a[10] 中的最小值換成 a。

    t=a[min];

    a[min]=a;

    a=t;printf("排序順序為:");

    for(i=0;i<10;i++) 輸出排序序列 printf("%5d",a);

    printf("");

    return 0;

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

    我直接分配的二維陣列的初始值。 您可以將陣列的行數和列數更改為常量。

    如果要手動輸入陣列值,可以自己編寫輸入。

    功能:先按公升序對每行進行排序,然後按公升序對每列進行排序。 無限迴圈,直到陣列不再更改。

    也就是說,至少會有兩輪行和列順序檢測。

    #include

    #include

    #define row 3

    #define clo 4

    int px(int **ns,int len);排列 void printfnums(int *nums,int r,int c); 列印陣列。

    int main(),ns=null;

    printf("原始陣列:");

    while(1)

    printf("%d 對按公升序對行和列進行排序",cnt);

    for(i=0;i*ns[j])

    ns[i]^=*ns[j],*ns[j]^=*ns[i],*ns[i]^=*ns[j],flag=1;

    return flag;}

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

    第十二回合:王熙峰下毒相思局,賈天翔在看風月。

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

    #include

    #include

    using namespace std;

    const int m=3;常量 int n=4; 2D 陣列列號 int cmp( const void *a , const void *b ) 歸類。

    int main(),int b[m*n];為臨時儲存定義乙個一維陣列 int k = 0;

    for(int i=0; i

    如果你不一定不使用一維陣列,如果你不一定不使用 C++,你可以參考這個。

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

    qsort 是編譯器庫附帶的快速排序函式。 原型是:

    void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*))

    引數如下:

    base:要排序的陣列的第乙個位址。

    num:陣列中要排序的元素數。

    width:每個元素占用的空間量。

    compare:指向確定排序順序的函式的指標。

    比較函式指標是比較函式指標,它決定了如何排序,通過修改函式指標指向的函式體,可以對複雜型別(如結構等)進行排序。 您還可以更改排序方法,例如公升序或降序。

    為了達到問題的效果,你需要在第乙個引數中傳遞資料所在行的第乙個位址,在第二個引數中傳遞一行中的元素數,在第三個引數中傳遞每個元素占用的空間,在第四個引數中傳遞自定義比較函式指標(函式名稱)。

    我們以乙個 3 行 4 列整數陣列 a[3][4] 並按公升序對其第二行 (a[1]) 進行排序為例,並寫乙個 ** 來幫助理解。

    #include

    #include

    int cmp(const void *a, const void *b)

    int main()

    可以看出,原始定義陣列是無序的。

    int i,j;

    qsort(a[1], 4, sizeof(int), cmp);

    下面輸出陣列元素值以驗證排序結果。

    for(i = 0; i < 3; i ++

    return 0;

    輸出:程式執行後:

    您可以看到第二行是公升序排列的,而其他兩行保持不變。

相關回答
9個回答2024-06-11

編寫乙個遞迴方法,你就可以開始了。

19個回答2024-06-11

二維陣列實際上是陣列的陣列,因此指向二維陣列的指標是指向陣列的指標。 考慮到這一點,選擇返回型別很簡單。 >>>More

16個回答2024-06-11

樓上是什麼,我真的受不了了,是乙個簡單的問題,很複雜。 >>>More

8個回答2024-06-11

您可以使用 php 函式陣列 sum() 來遍歷總和。 >>>More