int status Row Col 1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1, 如何改為可以自由輸入

時間 2025-02-26 10:20:19

c語言的乙個二維陣列的題,求大神幫我寫一下

1樓:網友

#include

int main(){

int n = 5,i = 0;

printf("輸入層數(9層以內比較好):");

scanf("%d",&n);

int a[2*n-1][2*n-1];

int temp = n;

while(temp != 0){

for(i = n-temp;i < n+temp-1;i++)int j;

for(j = n-temp;j

**保證簡單!

效果如下:

2樓:新葉

是要執行後出來這些數嗎?請說清楚點。

希望我大神幫忙做一下c++程式設計,謝謝啦

3樓:網友

這個需要用到 的 malloc 函式來動態分配記憶體。

有需要的話再問吧。

4樓:網友

動態儲存就是用new嗎,這個有時間的話我幫你寫。

編寫乙個j**a程式,在乙個4x4的矩陣中隨機填入0和1,列印該矩陣,找到第乙個具有最多1的行和列。

5樓:雪飛瀟瀟

public class juzhen

int maxr = 0;//儲存行出現1的次數的最大值,int maxc = 0;//儲存列出現1的次數的最大值,int row = 0;//行。

int col = 0;//列。

for (int i = 0; i < i++)if (ary[j][i] == 1)

if (numr > maxr)

if (numc > maxc)

【行數從1開始】 最多數字1的行:" + row + 1));

列數從1開始】 最多數字1的列:" + col + 1));

輸出0 1 1 1

行數從1開始】 最多數字1的行:1

列數從1開始】 最多數字1的列:2

c語言棋子游戲,寫乙個函式,使得使用者1輸入的是x和使用者2輸入的是o。

6樓:

然後用二維陣列實現類似下面的格式。陣列唯讀取1,2,0。凡是第乙個使用者輸入的棋子數值為1,第二個使用者輸入的棋子數值都為2。

當陣列讀取到1的時候,就打x,當讀取2的時候就打o,當讀取0的時候就打空格「

這裡不是說了?

char c = ' ';

if(borad[row][col] == 1) c = 'x'

else if(board[row][col]==2) c= 'o';

把%d 改成%c. 然後在後面加個 c.即 printf("| %d "); ==> printf("| %d ", c);

列印陣列中的0周圍1的個數,請求高手指導,不勝感激!

7樓:網友

建議樓主void calculate(int *p)

函式使用3個引數,第乙個陣列首位址,第二個,三個引數分別為行列。

否者,如果看當前寫法,第一行,或最後一行時,會出現越界現象,還有不知道樓主。

calculate(*(p+1));

這條語句的目的,,。傳入引數型別錯誤,即使傳對了,也會最後因為陣列越界問題錯誤吧。

修改了**如下:

#include

#include

#define n 8

void calculate(int *p, int i, int j)

上if(((i-1)>=0)&&p+(i-1)*n)+j)==1))

下if(((i+1)=0)&&j-1)>=0)&&p+(i-1)*n)+j-1)==1))

左下。if(((i+1)=0)&&p+(i+1)*n)+j-1)==1))

右下。if(((i+1)=0)&&j+1)printf("第%d行%d列位置,0周圍1的個數是:%d",i,j,m);}

int main(void),}calculate((int*)a, 1, 6);

system("pause");

return 0;}

8樓:網友

幫你大規模改了下,現在唯一的問題是如果你要算總和的話,0周圍的1被重複計算,這個不太好搞。

#include

#include

#define max_col 8

int m = 0;

void dowithatleftmost(int (*a)[max_col], int r, int c)

void dowithatrightmost(int (*a)[max_col], int r, int c)

void dowithatupmost(int (*a)[max_col], int r, int c)

void dowithatundermost(int (*a)[max_col], int r, int c)

void dowithatmedian(int (*a)[max_col], int r, int c)

int calculate(int (*a)[max_col], int rows, int columns)

else if(columns == 7)

else if(rows == 0)

else if(rows == 7)

elseprintf(">>a[%d][%d] = (%d) 周圍1的個數是:%d ",rows,columns, value,m);

return m;

int main(void),}int totalm = 0;

for(int i=0;i>>>total: [d]", totalm);

system("pause");

return 0;}

9樓:網友

//遞迴無限迴圈了,先判斷是否超出了陣列範圍再遞迴#include

#include

const int size = sizeof(int);

void calculate(int *p, int pos)if(*(p-1)==1)

if(*(p-8)==1)

if(*(p+8)==1)

if(*(p-9)==1)

if(*(p+9)==1)

if(*(p+7)==1)

if(*(p-7)==1)

printf("0周圍1的個數是:%d",m);

if(pos < 64)

calculate((p+1), pos);}int main(void),}calculate(&a[1][2], 8+3);

system("pause");

return 0;}