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;}