![]() |
|
|
|
|
#1
|
|||
|
|||
|
Какое условие записать для повторяющихся элементов?
Последний раз редактировалось flips, 18.11.2010 в 18:39. |
|
#2
|
||||
|
||||
|
массив чего?
|
|
#3
|
||||
|
||||
|
Предположу что речь идет о модуле Variants;
|
|
#4
|
|||
|
|||
|
Нужно взять массив из строки и вывести его в Memo
Вот код для взятия из строки: Код:
procedure getArrayFromStr(var a:TArray100;var cnt:integer; const s:string);
var wep:integer; w:string[20];s1:string;
begin
s1:=s;
cnt:=0;
while length(Trim(s))>0 do
begin
s1:=Trim(s1);
wep:=Pos('',s1);
if wep=0 then
wep:=length(s1)
else
wep:=wep-1;
w:=copy(s1,1,wep);
delete(s1,1,wep);
cnt:=cnt+1;
a[cnt]:=strtoint(w);
end;
end;Код:
procedure showArrayInMemo(const a:TArray100;cnt:integer;Memo1:TMemo); var i:integer; begin Memo1.Clear; for i:=1 to cnt do begin Memo1.Lines.Add(inttostr(a[i])); end; end; Проблема в этой строке: Код:
a[cnt]:=strtoint(w); Код:
procedure createRandomArray(var a:TArray100;cnt,modul:integer); var i:integer; begin randomize; for i:=1 to cnt do a[i]:=random(modul); end; Код:
function ArrayToStr(const a:TArray100;cnt:integer):string; var i:integer; begin result:=''; for i:=1 to cnt do result:=result+intToStr(a[i])+' '; end; Спасибо за внимание. |
|
#5
|
||||
|
||||
|
Как я понял цель функции getArrayFromStr извлечь из строки числа и заполнить ими массив.
Для начала, цикл у вас никогда не завершится потому-что вы обрабатываете S1 а проверяете S которая никак не меняется. |
|
#6
|
|||
|
|||
|
забыл поменять.
Да вы правильно поняли. Может мы перейдем в icq, чтобы решить все проблемы сразу? |