1樓:壬夜柳
1、除了列印矩陣外,還可以計算矩陣,比如相加,相減,轉置等。
2、還有就是有兩種情況,一種是描述一個二維的事物。比如用1 表示牆,用0表示通路,我們可以用二維陣列來描述一個迷宮地圖;用1表示有通路,0表示沒有通路,我們可以用二維陣列來描述幾個城市之間的交通情況。還有一種是描述多個具有多項屬性的事物。
比如有多個學生,每個學生有語文、數學和英語三門成績,我們就可以用二維陣列來描述。對於第二種情況,我們要注意各項屬性應該是同一種資料型別,比如三種學科的成績都是整數。如果出現了姓名(字串屬性),就不能將他們組合到一個二維陣列裡去。
所以不要企圖將不同資料型別的屬性整合到一個二維陣列中去。
2樓:蒼龍de鏈
很多情況都要用到二維陣列
用以下圖形arr打個比方:
0 1 2
3 4 5
6 7 8
1、可以用二維陣列表示x,y,則可知道每個數字的位置。比如0代表的位置是(0,0),可以存成arr[0,0]=0;4代表的位置是(2,2),可以存成arr[2,2]=4。。
2、說個實在的應用,每個**的畫素都是可以看成上面的圖形排列的,因此可以用二維陣列表示,實際應用中也是用的二維陣列處理的。
以上的同樣能用一維陣列表示,但是一維陣列在邏輯上、或者說處理上沒有二維陣列來的方便,直觀。因此引入了二維陣列
3樓:匿名使用者
二維陣列 從大型網遊裡面確定人物或者物品的座標也是可以的簡單點說就舉windows自帶掃雷的例子
一個介面裡面 有雷的位置 陣列裡面元素值為1 安全就為0 點選一個方塊首先判斷方塊對應的陣列的位置是否為1 為1就表示你點到雷了 遊戲重來
如果點的方塊對應的陣列元素裡面是0 就計算這個元素周圍一圈裡面有多少個1 然後相加 並把相加得到的數字(其實就是周圍幾個雷)顯示在你剛才點選的那個方塊上面去
4樓:匿名使用者
一般來說如果有明確的行列關係,能將位置轉換為具體x,y座標的時候,通常就可以考慮二維陣列,比如最常見的棋類遊戲(無論是五子棋、圍棋等等,都是有固定行列的),或者類似的比如說俄羅斯方塊、貪吃蛇,或者象迷宮等等。再大型點比如象網遊,通常一個地圖內也是由n個行和n列組成的,人物在其中行走的時候,簡單點就可以用二維陣列來解決碰撞、尋路這些演算法。
c# 二維陣列到底該如何定義?
5樓:匿名使用者
恩,二維陣列是string[,]
string是陣列的陣列,也就是說,他可以包含不確定個數的字串~
6樓:匿名使用者
真正的二維陣列只有string[,] arr = new string[12, 31] 沒有第二種
至於那個教科書上經常列出來的所謂交叉陣列
比如 string ary = new string[5];
開始我還真以為是微軟弄出來什麼新的資料結構,後來一想,我靠,這個不就是string 型別的一維陣列嗎,事實上也確實是這樣的,就是寫法上有點怪異
我一直覺得 string ary = new string[5]; 這樣寫才比較合理
7樓:
//這樣定義就可以,2行3列的陣列
string[,] fn = new string[2, 3];
//你可以這樣給每個賦值
fn[0, 0] = "string 0-0";
fn[0, 1] = "string 0-1";
fn[0, 2] = "string 0-2";
fn[1, 0] = "string 1-0";
fn[1, 1] = "string 1-1";
fn[1, 2] = "string 1-2";
//這裡可以取個值 看看
string m = fn[1, 1];
8樓:匿名使用者
string[,] arr=new string[12,31]
9樓:匿名使用者
string arr new string[5,5] 這樣定義
10樓:匿名使用者
string arr =new string[陣列長度];
定義的方法有很多的 慢慢了解
c#中 多維陣列很不明白 。 它有什麼作用
11樓:溈莪獨澊
一般會同時初始化陣列中的元素,如下所示:
一維陣列語法
資料型別 陣列名稱=new 資料型別[大小]
對陣列的賦值
宣告時賦值
資料型別 陣列名稱=
宣告後賦值
資料型別 陣列名稱=new 資料型別[大小]
陣列名稱[0]="四川"
foreach(型別 i in 物件/集合陣列)
陣列名.length;用於獲取陣列的元素個數
陣列的角標以0開始
c# 複製**
int array = new int[5];
數值陣列元素的預設值為零,引用元素的預設值為 null,但您可以在建立陣列的過程中初始化值,如下所示:
c# 複製**
int array1 = new int ;
或者甚至這樣來初始化:
c# 複製**
int array2 = ;
陣列的索引從零開始,因此陣列中的第一個元素為元素 0。
c# 複製**
string days = ;
system.console.writeline(days[0]); // outputs "sun"
多維陣列
從概念上來說,兩維陣列類似於網格,三維陣列則類似於立方體。
c# 複製**
// declare multidimension array (two dimensions)
int[,] array2d = new int[2,3];
// declare and initialize multidimension array
int[,] array2d2 = , };
// write elements in a multidimensional array
for (int i=0; i<2; i++)
}// read elements in a multidimensional array
for (int i=0; i<2; i++)
system.console.writeline();
}交錯陣列
多維陣列的一種變體是交錯陣列,即由陣列組成的陣列。交錯陣列是一維陣列,且每個元素自身是一個陣列。作為元素的陣列無需均為相同的大小。
宣告交錯陣列的方式如下:
c# 複製**
int jaggedarray = new int[3];
這樣做會建立一個有 3 個陣列的陣列。這些陣列可以按如下方式初始化:
c# 複製**
jaggedarray[0] = new int[5];
jaggedarray[1] = new int[4];
jaggedarray[2] = new int[2];
12樓:匿名使用者
c#程式怎麼發到這裡來了?
1、new int[4,2]前面就是行數,後面是列數2、int[,]arr2是二維陣列
int[,,]arr3是一個三維資料
兩個陣列不一樣,括號當然不一樣啊。一個{}表示一維3、testarray[2][2]是一個3行3列陣列testarray[2][2]=9
其它自己是看書吧,這個是基礎的東西~
在c#裡怎麼定義二維陣列?
13樓:
c#支援int a[3][3]這種二維陣列定義啊,你說的是賦值吧?迴圈行啊。
不過要迴圈套迴圈。畢竟2個角標呢。
14樓:落月
int arr = new int[3] ;
然後再迴圈賦值就行了。
15樓:匿名使用者
int[,] b = new int[m,n];
for(int i=0;i
16樓:匿名使用者 int ss = new int[3] ; int[,] sss = new int[9,9]; listssss = new list(); for (int i = 0; i < 5; i++)ssss.add(new int[10]); ssss[3][3] = 10; ss[0][4] = 3; sss[1, 3] = 4; c#中如何定義二維陣列? 17樓:大野瘦子 這樣://二維陣列,先定義了一維:2 int a = new int[2]; //再定義第二維:3 a[0] = new int[3]; a[1] = new int[3]; byte[,] blob =new byte[5,5];這個是宣告一個交錯陣列,不是二維陣列,和c/c++不同, byte blob=new byte[5][5]; 這種宣告不可能把一個交錯陣列賦值給一個二維陣列: byte[,] blob =new byte[5][5]; 注意事項 二維陣列是按照你定義的型別的一組數,比如int [2,3]那就是說一個兩行三列,每一個元素都是一個整型數的陣列,但是交錯陣列int[2],意思是這個陣列有兩個元素,每一個元素都是一個整型的陣列,但是長度可以不一樣,比如int arr= new int[2];因為每個陣列的元素不一樣,所以後面的不能填值。 int [0]=new int[10]; int [1]=new int[8]; 例子(訪問交錯陣列): int arr = new int[3], new int[3], new int[4] foreach (var item in arr)//最外層得到每個陣列 foreach (var i in item)//內層是去每個陣列中訪問元素 console.write(i); console.writeline(); 18樓: 例:定義一個二維陣列的bb型別 #include typedef char bb[10][50]; void main() bb a; for (int i=0;i<10;i++)for (int j=0;j<50;j++)a[i][j]='b'; 擴充套件資料c++動態二位陣列: 以整形為例,row為行數,col為列數 int **data;//儲存二維陣列的指標(指向指標的指標。date=x[0][0]的地址。這樣標會更好。因為sizeof(date)結果為4不可能存下二維陣列) //以下實現如何申請記憶體data = new int *[row];for (int k = 0; k < row; k++) //賦值跟普通二維陣列一樣 例如 data[0][0] = 5; //將二維陣列1行1列(c++中稱為0行0列)賦值為5//刪除記憶體for (int i = 0 ; i < row; ++i)delete [ ] data; int a m n 就表示一個m行n列的整型二維陣列在c語言中陣列的下標是從0開始的所以,內陣列a的元素個數可以表示為 容a 0 0 a m 1 n 1 例如 include int main return 0 執行結果 1 23 4 4 51 2 3 44 5 int a 3 2 定義的是陣列ba... static void main string args for i 2 i 10 i for i 0 i 10 i a i,j console.writeline console.readline string fn new string 12 fn 0 new string fn 1 new s... 一維陣列,a表示的就是首元素的地址,a就是首元素。再看二維陣列,二維陣列如a 2 2 兩行兩列。是a 0 0 a 0 1 a 1 0 a 1 1 它不是一維陣列,但可以用一維陣列表示。a i a i a i a i 0 這幾個值是相等的,但意義不同,a i表示第i行的首地址,指向行。a i a i ...c語言二維陣列怎麼表示,C語言二維陣列定義是什麼,然後int a 1 2 是代表什麼意思?怎麼用這個二維陣列
c如何宣告二維陣列,c 如何宣告一個二維陣列?
C語言二維陣列問題