![]() |
|
|
#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, чтобы решить все проблемы сразу? |