用指標對二維陣列進行氣泡排序,函式自己定義,在排序時不允許用變數

2021-03-22 00:00:18 字數 4685 閱讀 9006

1樓:

^#define m 3

#define n 3

int ar[m][n] = ,

,};int main(int argc, char *argv)for(i = 0; i < m*n; i++)printf(" %d ",*(p+i));

system("pause");

return 0;}

c語言 請使用指標變數將二維整數陣列進行氣泡排序

2樓:

對於任意的物件a,寫作(&a)->b也是可以的,不過很少有這樣寫。

#include

int main()

; int i,j;

int b[4*5];

int k=0;

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

}for(i=0;i<4*5-1;i++){for(j=i+1;j<4*5;j++){if(b[i]些(能貼上複製,能文),且程式設計其東西沒任何變化

3樓:莊政警

#include

#define n 3

int main()

, ,  };

int*p=(int*)a;

int i,j,t;

for (i=0; ifor (j=0; j*(p+j+1))}}for (i=0; i

我想用c語言的指標和函式實現氣泡排序,輸入一就從小到大排序否則就大到。給陣列賦值然後呼叫第一個函式

4樓:c呀可可

沒聽懂你想要表達的意思。所以我把你有可能需要的都貼上:(**是以前寫的,gcc編譯器。有的部分省略了,自行補上。)

排序一維陣列(從大到小,普通自定義函式)

輸入:1,2,3,4,5,6,7,8,9,10輸出:10,9,8,7,6,5,4,3,2,1排序一維陣列(從大到小,指標函式)

輸入:1,2,3,4,5,6,7,8,9,10輸出:10,9,8,7,6,5,4,3,2,1排序二維陣列(沒用函式)

輸入:1  2 3 4

4 2 3 1

4 1 3 2

3 2 4 1

輸出結果為:

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

c語言求助,老師佈置了個作業。用一個指標變數操作3*5的二維陣列。把陣列的每一行用冒泡法排序。求大

5樓:從不哭泣的菜鳥

您好!(這是c++版本,如果一定要c版本,我再幫你改)#include

using namespace std;

void bubble_sort(int (*p) [5]);

void display(int (*) [5]);

int main()

, , };

cout <<"排序之前的陣列為:" <

6樓:匿名使用者

#include "stdio.h"

void sort(int (*p)[5],int n)printf("\n");

} void main()}

c語言使用指標實現陣列元素氣泡排序

7樓:文化廚子

#include

int main()

8樓:匿名使用者

#include

#define n 5

void swap(int *p);

int main()}

c++問題,**等。。。用指標對二維陣列進行排序,打出來的全是負的,而且都一樣的數

9樓:匿名使用者

// point.cpp : 定義控制檯應用程式的入口點。

//#include "stdafx.h"

#include

using namespace std;

int _tmain(int argc, _tchar* argv)for (j = 0;j<24;j++)

}//你的**中多一個}

/*for (i=0;i<5;i++)

for(j=0;j<5;j++)

a[i][j]=c[5*i+j];*/

//上述三行**用來初始化a陣列,只需去掉註釋符就可以用了..

cout<<"二維陣列排序為:"<

for (j = 0;j<5;j++)

cout<<'\n';

}return 0;

}錯誤已經寫在後面的註釋裡,其他錯誤暫時沒發現...

10樓:

rand用法

#include

#include

srand(time(null));

for(...)

一維陣列c排了序

二維陣列a 沒寫進資料

11樓:怪盜

for (j = 0;j<24;j++)

}另外,*b[25]這個指標陣列沒有作用

12樓:匿名使用者

顯然是你的偽隨機數出錯,你這樣呼叫rand()產生的隨機數是不變的。原因是你的seed 一定是1. 所以你需要先用srand(seed) 初始化。一般用系統時間做seed。

#include time.h

srand(time(null));

然後再用rand()%6

13樓:匿名使用者

懶得用陣列指標了,就隨便寫了個

/*程式設計實現3x5矩陣與5x3矩陣的乘積,用二維陣列並用陣列指標*/#include

using namespace std;

int main()

return 0;

}執行結果:

1 2 3 4 5

2 4 5 6 3

4 5 7 8 9

1 2 3

4 5 6

7 8 9

4 7 3

5 2 4

71 74 74

92 112 105

150 163 165

press any key to continue另外,站長團上有產品**,便宜***

二維陣列如何氣泡排序???

14樓:匿名使用者

將一維陣列的改一下就可以了

假設陣列是a[m][n],可以用下面的方法for(pass=1;passa[(i+1)/n][(i+1)%n]) }}

其實是做了一個二維和一維間的一一對映

15樓:匿名使用者

總有一個key的吧?

就是判斷兩個元素的大小的方法有區別,只是在判斷大小的時候做下處理,其他的和一維的沒有區別。

16樓:匿名使用者

和一維的沒啥區別,整理好指標就行了

用指標方法完成氣泡排序函式。

17樓:

#include

void sort(int* a, int n)}}}void output(int* a,int n)printf("\n");

}int main()

;sort(a,10);

output(a,10);

return 0;}

用陣列作函式引數,定義一個實現氣泡排序的函式,在主函式中完成資料的輸入和輸出.

18樓:徜逸

c語言的**如下:

#include

void bubble_sort(int num[50],int n)}}

}int main()

其他排序演算法

1、插入排序

插入排序:已知一組升序排列資料a[1]、a[2]、……a[n],一組無序資料b[1]、b[2]、……b[m],需將二者合併成一個升序數列。首先比較b[1]與a[1]的值,若b[1]大於a[1],則跳過,比較b[1]與a[2]的值;

若b[1]仍然大於a[2],則繼續跳過,直到b[1]小於a陣列中某一資料a[x],則將a[x]~a[n]分別向後移動一位,將b[1]插入到原來a[x]的位置這就完成了b[1]的插入。b[2]~b[m]用相同方法插入。(若無陣列a,可將b[1]當作n=1的陣列a)

2、希爾排序

由希爾在2023年提出,又稱希爾排序(shell排序)。已知一組無序資料a[1]、a[2]、……a[n],需將其按升序排列。發現當n不大時,插入排序的效果很好。

19樓:匿名使用者

#include

int i;

int a[10];

main()

int sort(int array[10])}}測試了一個多小時,好久沒程式設計了,終於成功了。

20樓:微俊

#include

#include

void bubble(int *a, int m)}}int main()

bubble(a, m);

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

return 0;}

c語言中關於二維陣列指標

二維陣列其實在記憶體中等同於一維陣列,僅僅是在編譯階段就幫你轉換掉了。a 3 4 記憶體分配時等同於a 3 4 上面的 應該改寫成printf d p i 4 j p i j 這種寫法系統理解為先取 p i 取p i該位置的值,假設 i 2,那麼該值就是3,然後再去用3 j,假設j 1,那麼 p i...

輸入4 4二維整型陣列,用指標變數查詢並輸出陣列中沒每行最大的值。要用指標變數

此題是填空,不是重寫!從上到下依次填 p a pq p q p 4 q if max q max q 或max max q q max 執行樣例 include include include int main 以上 塊 為了減少輸入,用隨機數填充4 4二維陣列for i 0 i 4 i print...

c語言用二維陣列名引用元素的指標表示方法

a不等抄價於 a 0 0 a和 a 0 0 的值是相同的,bai但型別不同。dua是二維陣列的地zhi 址,而 a 0 0 是int變數的dao地址,含量不同。正確的說法是 a a 0 而a 0 a 0 0 又因為有制 a 0 a 0 a 0 0 我感覺這句理解錯了。bai a 0 a 0 0 而不...