如何列印蛇形矩陣,C 求助!!!!列印蛇形矩陣!!!

2023-02-03 00:45:35 字數 6516 閱讀 6177

1樓:蝸牛爬阿爬

#include

#define max 20

int n,square[max][max];

int ok(int x,int y)

main()

}for(i=0;i

printf("\n");

/*system("pause");*/}

2樓:匿名使用者

using namespace std;int sum;int main()    for(int i = 0; i < n-1; ++i)      for(int i = 0; i < n-1; ++i)    for(int i = 0; i < n-1; ++i)    for(int i = 0; i < n-2; ++i)    if(cnt >= sum)        break;    y++;    n=n-2;    }              for(int i = 0; i < m; ++i)        printf("\n");    }}

3樓:

才5分啊?本來想寫的。

c++求助!!!!列印蛇形矩陣!!!

4樓:紫薇參星

你的列印蛇形矩陣的c++程式,我幫你改完了,你看看吧(改動的地方見註釋)

#include

using namespace std;

int a[10][10];

int main(){

int n,s=0,v=0;

cin>>n;

for(int i=0;;i++){

for(int j=i;j

pascal 列印蛇形矩陣 (二維陣列)

5樓:匿名使用者

vara:array[1..100,1..100] of integer;

i,j,k,t,max:integer;

begin

readln(max);

t:=1;

for k:=2 to max+1 do for i:=1 to k-1 do

begin

j:=k-i;

if true

then a[i,j]:=t else a[j,i]:=t;

t:=t+1;

end;

for k:=max+2 to 2*max do for i:=k-max to max do

begin

j:=k-i;

if true

then a[i,j]:=t else a[j,i]:=t;

t:=t+1;

end;

for i:=1 to max do

begin

for j:=1 to max do write(a[i,j]:5);

writeln;

end;

end.

6樓:匿名使用者

const max=10;

vard,i,j,m,n:longint;

a:array [1..100,1..100] of longint;

begin

readln(n);

i:=1;

j:=1;

m:=1;

d:=1;

repeat

a[i,j]:=m;

case d of

1: begin i:=i+1; if j=1 then d:=2 else d:=4; end;

2: begin i:=i-1;j:=j+1;if j=n then d:=1 else if i=1 then d:=3;end;

3: begin j:=j+1; if i=n then d:=2 else d:=4;end;

4: begin i:=i+1;j:=j-1;if i=n then d:=3 else if j=1 then d:=1;end;

end;

m:=m+1;

until m>n*n;

for i:=1 to n do

begin

for j:=1 to n do write(a[j,i]:4);

writeln;

end;

end.

c++蛇形矩陣

7樓:匿名使用者

#include

void main()

;int n,m,i,j,num,flag=1;

scanf("%d",&n);

m=n*n+1;

i=0;j=0;

for(num=1;num<=m/2;num++)   //生成矩陣if(j<0)

}for(i=0;i權矩陣

{for(j=0;j

8樓:匿名使用者

#包括中

#定義n個8

無效的主要()

br />如果(n%2 = 0)arr〔n! / 2] [n / 2] =民;

就(i = 0;我

9樓:匿名使用者

很久以前研究過回:答

程式設計,蛇形矩陣

10樓:匿名使用者

c語言實現:

#include

#define n 100 //給陣列定義一個最大值

void main()

}for(i=1;i

}for(i=0;i

printf("\n");}}

11樓:滄海雄風

41 3 4 10

2 5 9 11

6 8 12 15

7 13 14 16

press any key to continue#include

int main()

}else}}

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

return 0;}

用c語言輸出一個n階蛇形矩陣

12樓:匿名使用者

思路來有點亂,不自過也算是比較好的完成要求了~#include

int main()

printf("\n");

up++;

}return 0;}

13樓:匿名使用者

#include

using namespace std;

int main()

else if(j >= n)

if(k < 0)

else if(k >= n)

array[j][k] = i + 1;

j += x; //選擇行縮排方式e68a8462616964757a686964616f31333262383638

k += y; //選擇列縮排方式

flag = 0;

}for(j = 0; j < n; j++)return 0;}

14樓:匿名使用者

大哥,你作業

bai也來這裡玩du哦,說不定我們zhi

是一個班的哦,這dao題目和我老師出的是專一個樣哈哈哈屬哈我編的程已經快要做完了,馬上發給你了,你先說一下你叫什麼名字,在哪個班,我想我們肯定是在一個班。發我郵箱[email protected]

給定整數n,請輸出蛇形矩陣 5

15樓:

#include "stdio.h"

#define maxsize 100 //定義陣列的最大長度為100

int a[maxsize][maxsize]; //定義二維陣列用於記錄蛇形矩陣

void create_sxjz(int m)if(t%2!=0)}}

for(t=m;t<=2*m-2;t++)if(t%2!=0)}}

}void display(int n)

}int main()

輸入為5時,輸出

1 3 4 10 11

2 5 9 12 19

6 8 13 18 20

7 14 17 21 24

15 16 22 23 25

pascal蛇形矩陣123456789

16樓:

vari,x,y,t,j:integer;

a:array[1..5,1..6]of integer;

begin

x:=1;y:=1;t:=1;a[1,1]:=1;

for i:=2 to 30 do

case t of

1:begin

y:=y+1;

a[x,y]:=i;

if y<>1 then t:=2;

if x=5 then t:=4;

end;

2:begin

y:=y-1;

x:=x+1;

a[x,y]:=i;

if x=5 then t:=1;

if y=1 then t:=3;

end;

3:begin

x:=x+1;

a[x,y]:=i;

if y=6 then t:=2;

if y=1 then t:=4;

end;

4:begin

x:=x-1;

y:=y+1;

a[x,y]:=i;

if x=1 then t:=1;

if y=6 then t:=3;

end;

end;

for i:=1 to 5 do

begin

for j:=1 to 6 do

write(a[i,j]:5);

writeln;

end;

end.

求採納!

17樓:弱弱的

不知道樓主是要問什麼,這裡就給一個列印一個蛇形矩陣的**

列印的矩陣如上,為5*6的蛇形矩陣

type

re=record

x,y:longint;

end;

varmap:array[1..1000,1..1000] of longint;

ans:array[1..100000] of re;

t,tt,anst,i,j:longint;

size,done:re;

begin

size.x:=5; size.y:=6; // size 記錄目標矩陣的行和列 這裡列印一個5行6列的矩陣

ans[1].x:=1; ans[1].y:=1; // ans[i] 陣列記錄數字i在矩陣中的橫座標和縱座標 1的座標為(1,1)

anst:=1; // anst 為ans陣列的指標

t:=2; // t表示當前操作的狀態,2表示加橫行然後向左下走,1表示加縱行,然後向右上走

while (ans[anst].x<>size.x) or (ans[anst].y<>size.y) do

begin

inc(anst);

ans[anst]:=ans[anst-1];

case t of

1:if (ans[anst].x1) do

begin

inc(anst);

ans[anst]:=ans[anst-1];

dec(ans[anst].x);

inc(ans[anst].y);

end;

2:while (ans[anst].x1) do

begin

inc(anst);

ans[anst]:=ans[anst-1];

dec(ans[anst].y);

inc(ans[anst].x);

end;

end;

case t of

1:t:=2;

2:t:=1;

end;

end;

for i:=1 to anst do

map[ans[i].x,ans[i].y]:=i; //map 陣列記錄最終答案

for i:=1 to size.x do

begin

for j:=1 to size.y do write(map[i,j]:4);

writeln;

end;

readln;

end.

求助matlab如何利用小矩陣生成大矩陣

使用repmat 函式 來即可實現上述要求,具體 源過程如bai下 1 建立自定義函式repeat matrix a,m,n 保du存為repeat matrix.m function y repeat matrix a,m,n 將給定方zhi陣a擴充為m n的矩陣 n size a,1 rm fl...

求助!!聯想M7400印表機卡紙

印表機偶爾卡紙屬於正常情況,排除故障前先要將印表機電源關閉。如果紙張卡在進紙的地方,要想將紙順利的取出來,先要注意右側有一個挫紙輪,取紙的時候要先將它抬起來,從它底下抽出卡住的紙。如果紙卡在了機器裡面,那麼開啟機器上蓋,從這裡取出卡住的紙,注意墨盒,可以先將墨盒拖車放置在機器右側,取出卡之後,接通電...

求助愛普生ME300印表機更換墨盒問題

您好,只有墨水燈常亮機器提示墨盒已到達使用壽命的時候按停止鍵才能更換墨盒,您現在墨水燈不亮按停止鍵是沒有作用的,如果您想更換墨盒,可以點選開始 印表機和傳真 裝置和印表機 右鍵點選me300圖示 列印首選項 維護 更換墨盒。愛普生me300印表機面板上沒有換墨盒按鈕,需要在電腦裡面操作。首先點選電腦...