delphi 判断某值是否在数组中

给定的某个数组比如 数组内含有1、2、3、8 四个值,然后判断任意值i 是否属于这个数组?应该怎么编写代码?谢谢了!

扫描一遍就可以了:
ex:=false;
for j:=1 to 4 do if a[j]=i then ex:=true;

上面的程序先假设不存在(ex变量的结果为true表示存在),然后循环判断数组的每一个元素与i是否相等,相等就设置存在标志。追问

那定义数组含有1、2、3、8 四个值 是怎么定义的呢?

追答

看你的数据从哪里来呀,事实上一般是从数据库、文本、网络上获取这些数据,如果你要逐一赋值也可以:
a[1]:=1;
a[2]:=2;
a[3]:=3;
a[4]:=8;

也可以从键盘获得:
var a:array[1..4] of integer; i:integer;
begin
for i:=1 to 4 do read(a[i]);
end.

追问

var
Form1: TForm1;
a1: array [1..4] of integer=(1,2,3,8);
implementation
我用的是全部变量 赋初值的方法 ,呵呵 谢谢了 !解决了我的问题!非常感谢!

温馨提示:内容为网友见解,仅供参考
无其他回答

delphi 判断某值是否在数组中
上面的程序先假设不存在(ex变量的结果为true表示存在),然后循环判断数组的每一个元素与i是否相等,相等就设置存在标志。

delphi中怎么调用一维数组,当输入1到9中任意数时,怎么确定每个数对应...
delphi的数组定义是 var a : array [0..10] of integer;这样就可以定了一个数组a,要访问的话 a[1] :=2; a[2]:=3;这样去赋值

Delphi中筛选数组中的数据?
与aaa数组中各行的第三个实际数误差在+\/-0.5之内,如找到aaa与bbb数组附合条件则显示:aaa--bbb 然后查找第三个数组相附的数组,当然第二次找查要排除aaa和bbb数组了!

Delphi6函数大全1-StrUtils.pas
`AnsiStartsText``:检查字符串是否以特定子串开头,同样不区分大小写。4. ``AnsiEndsText``:检查字符串是否以特定子串结尾,同样忽略大小写。5. ``AnsiReplaceText``:替换字符串中的子串,不区分大小写。6. ``AnsiMatchText``:判断字符串是否在指定数组中出现,不区分大小写。7. ``DupeString`...

delphi中locate查找方法
至于Variant数组则可以使用VarArrayOf方法,或是使用VarArrayCreate方法来建立,在稍后的范例中会有程序代码说明。Locate方法的最后一个参数TLocateOptions则是让开发人员在查寻字符串字段时,指定以什么标准来查寻数据。开发人员可以指明不分大小写来查寻字符串数据,或是以部分字符串数值来查寻数据。下面就是TLocateOptions的类型...

Delphi中对象数组的使用,该怎么解决
'产品成立', '[170231]', '1'))这样的一个数组有没有问题?不知道开头的[]是什么意思,数组中好像没有这个值啊。求解答,谢谢。---解决方案--- 引用: Delphi对接Java 写的Webservice,调用的函数参数之一是一个一维的对象数组,已经封装好,但是我在调用的时候一直报地址错误,错误代码为:ac...

delphi 数组
function aaaa(c:string var a:array of char):integer ; 你是想在aaaa中有一个参数是数组还是调用aaaa这个函数?如果是调用的话i=aaaa(c,a[n])这样是没错的..n是整数,

delphi数组类型
type TCheck = array[1..10] of Double;然后声明变量时,可以写成:var Check: TCheck;要给数组赋值,可以使用for循环,如下所示:for J := 1 to 10 do Check[J] := 0.0;除了单维度数组,Delphi也支持多维度数组。例如,二维数组TTable代表一个20行20列的Double型矩阵:type TTable = ...

请思考如果在使用数组时,下标越界了,会出现什么情况?
最好的情况是指向一个没有用到的内存区域,这样不会对应用程序有影响,最坏的情况是指向的程序的核心区域,会导致系统崩溃。指针越界,就说明这个指针已经不在数组范围内了,指向了不属于数组的区域,再对他进行操作也不是对数组里面的元素进行操作,而是对一个未知的单元进行操作。(感觉真恐怖的!)...

Delphi中怎样把数据库某个字段的值赋给数组
假设你的Data字段所在的表的数据都在数据集ADODataSet1里,数组Data是string类型的数组,第一个下标为1,Data字段为string类型;var i: integer;begin ADODataSet1.First;for i:=1 to ADODataSet1.RecordCount do begin Data[i] := ADODataSet1.FieldByName('Data').AsString;ADODataSet1.Next;end;end...

相似回答