1樓:匿名使用者
在 delphi (object pascal 語言)中,使用 array 關鍵字進行陣列定義。
如果需要定義二維陣列可以採取以下定義形式:
一、靜態陣列定義
靜態陣列定義,通常用於陣列元素的數目確定的情況。定義形式如下:
示例:type
//定義二維陣列型別
tmultiarr = array[1..3,1..3] of string;
varmultiarr: tmultiarr;
//定義 行12*列12 的 integer 陣列
intarr: array[1..12] of array[1..12] of integer;
//定義 行5*列5 的 string 陣列
strarr: array[1..5,1..5] of string;
二、動態陣列定義
動態陣列常用於當陣列的元素數目不確定的時候,其定義形式如下:
samarr: array of array of integer; //定義二維陣列,陣列元素不確定
type tmessagegrid = array of array of string; //定義二維陣列型別,陣列元素不確定
var msgs: tmessagegrid; //宣告乙個二維陣列型別變數
二維動態陣列的元素數目,可以通過 setlenth 來動態指定,示例**如下:
procedure tform1.button3click(sender: tobject);
type tmultiarr = array of array of string;
vara: tmultiarr;
i, j: integer;
s: string;
begin
setlength(a, 10);
for i := low(a) to high(a) do
begin
setlength(a[i], i);
for j := low(a[i]) to high(a[i]) do
a[i, j] := inttostr(i) + ',' + inttostr(j) + ' ';
end;
for i := low(a) to high(a) do
begin
s := '';
for j := low(a[i]) to high(a[i]) do
s := s + ' ' + a[i, j];
memo1.lines.add(s);
end;
end;
**執行截圖:
2樓:匿名使用者
a: array [0..1] of array [0..9] of integer;
或 a: array of array of integer;
3樓:匿名使用者
兩種形式,任選其一,例如:
amatrix : array[1..10] of array[1..50] of real;
bmatrix : array[1..10, 1..50] of real;
delphi二維陣列定義 賦值
4樓:
不用ado連線的話,把資料匯出為cvs格式,delphi可以批量讀入
5樓:
資料在excel**裡時,可以把xls檔案當鑄乙個資料庫,sheet當成乙個資料庫表,使用類似連線access的方法連線到xls檔案,然後使用ado+sql語句可以進行處理,連線字串一般為:
const
connstr = 'provider=microsoft.jet.oledb.
+ 'persist security info=false';
%s就是你的excel檔案,使用excel的sheet做為表名時,要用中括號引起來,例如:
select * from [sheet1]
6樓:匿名使用者
vardt: array[0..4] of array[0..399] of integer;
r,c: integer; // r 行,c 列...for i :
= 0 to 4 do beginfor j := 0 to 399 do begindt[i, j] := 100;
end;
end;...
delphi 如何定義乙個n行2列的陣列 ?
7樓:己聞楣
貌似不應該定義n行2列的二維陣列,而是應該先定義乙個結構,再定義元素為此結構的一維陣列,示例如下:
tregisterdata = packed recordaddr : pointer;
value : integer;
end;
armyregisters : array[ 1..n ] of tregisterdata;
8樓:匿名使用者
mya : array[0..n,0..1] of integer;
9樓:
type
tszrec = packed recordabox: dword;
addr: dword;
end;
szrecs: array of tszrec;
delphi二維陣列初始化並輸出的問題
10樓:匿名使用者
指標的型別與陣列的型別不一致,陣列是array [0..2] of arraytype型別,而指標是指向arraytype的,也就是指標只是指向陣列的元素的,而不是指向陣列,導致函式呼叫傳遞引數不正確。既然函式fun是用傳值方式,就沒有必要轉換成指標,再由指標又轉換成變數(陣列),這多餘了。
procedure tform1.btn1click(sender: tobject);
vararraytype1: array [0..2] of arraytype;
//array_pointer: parray;
j: integer;
begin
for i := 0 to high(arraytype1) do
for j := 0 to high(arraytype) do
arraytype1[i, j] := i * j;
//array_pointer := @arraytype1;
fun(arraytype1);
end;
如果要用傳址方式,array [0..2] of arraytype必須在函式fun之前定義成型別,再改形參和實參。
「c++」中二維陣列的指標如何定義?
11樓:手機使用者
// int a[2][2] = ;
// **a 就是 a[0][0] 第一行第一列。
// *(*a + 1) 就是 a[0][1] 第一行第二列。
// **(a + 1) 就是 a[1][0] 第二行第一列。
// *(*(a + 1) + 1) 就是 a[1][1] 第二行第二列。
c 二維陣列排序問題,C 二維陣列sort函式排序問題
include 寫的比較簡單,原理你應該都知道了,後面的,就是 開始做的那個沒刪 void main for i 0 i 12 i 冒泡 for j 0 j 12 j if a j 4 j 4 a j 1 4 j 1 4 看起來有點複雜,其實就是 12個數分成3行4列,對應的行數就是j 4,列數j ...
二維陣列與矩陣的區別?二維陣列和矩陣的區別
二維陣列是程式語言中的叫法,矩陣是數學教材上的教法。它們之間沒多大區別。如果把有些規定說明一致的話,應該是一樣的。其實是一樣的。int a int b 3 3 a b 那麼陣列名就是首個元素位址。a 1就是b 1 0 或者b 1 的位址。二維陣列和矩陣的區別 二維陣列是矩陣的一種實現方式,就是在程式...
關於c語言二維陣列的問題,C語言中二維陣列的定義問題
a是乙個一維陣列,陣列裡的值是指標,指向的還是一維陣列。即等價於,int x 2 2,0 int y 2 4,8 int a 2 x,y 我想你應該知道答案了。c語言中二維陣列的定義問題 正確寫法如下 char fd jgf1 maxitemlen 1 說明 把null去掉 1.二維陣列的第乙個維度...