![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему не правильно работает SetLength? [D7, WinXP]
kir86975 © (2009-06-04 11:44:00)у меня проблема... Не хочет работать процедура SetLength. Говорит, что якобы не хватает памяти либо в доступе к ячейке памяти отказано.
Вот фрагмент кода:
procedure Teaching(S:TMMVector); //ñîçäàíèå ñåòè
var i,j,k,x,y: integer; w: real;
begin
SetLength(NetAr,0);
//Length(S) - êîë-âî ñëî¸â
//S[I] - êîë-âî íåéðîíîâ íà I ñëîå
for i := 1 to Length(S) - 1 do //ïåðåáèðàåì Ñëîè
begin
SetLength(NetAr,i);
x := S[i]; //êîëè÷åñòâî íåéðîíîâ
y := S[i - 1]; //êîëè÷åñòâî ñâÿçåé ó êàæäîãî íåéðîíà ñ ïðåäûäóùèì ñëîåì
for j := 1 to x do //ïåðåáèðàåì Íåéðîíû
begin
SetLength(NetAr[i - 1],j);
Randomize;
for k := 1 to y do //ïåðåáèðàåì Âåñà
begin
w := Random - Random;
SetLength(NetAr[i - 1,j - 1],k);
NetAr[i - 1,j - 1,k - 1] := w;
end;
SetLength(NetAr[i - 1,j - 1],y + 1);
NetAr[i - 1,j - 1, y] := Random - Random; //çàïîìèíàåì çíà÷åíèå ñäâèãà w0
end;
end;
end;
kir86975 (2009-06-04 12:39:00) [21]неужели Delphi не хватает памяти на такой небольшой массивчик?
kir86975 (2009-06-04 12:38:00) [22]Элементы массива S не превышают 10-15 , самих элементов может быть 4-5
kir86975 (2009-06-04 12:38:00) [23]...
Игорь (2009-06-04 12:29:00) [24]
> kir86975 (04.06.09 12:26) [7]
Ну и флаг тебе в руки, не хочешь сам себе помочь, никто тебе не поможет
brother (2009-06-04 12:27:00) [25]> на какой-то n-ый раз все падает
все верно, памяти нет)
kir86975 (2009-06-04 12:26:00) [26]ну это не должно быть преградой....Delphi позволяет создавать такие массивы...значит и должен с ними работать. Я бу не сказал, что я их прямо так уж до отказа забиваю.
У меня эта процедура может отработать несколько раз, на какой-то n-ый раз все падает
brother (2009-06-04 12:22:00) [27]> NetAr: array of array of array of real;
О_о памяти говорит нет?)
kir86975 (2009-06-04 12:20:00) [28]NetAr: array of array of array of real;
TMMVector=array of integer;
Игорь (2009-06-04 12:15:00) [29]
> kir86975 (04.06.09 12:09) [3]
NetAr, TMMVector что такое?
kir86975 (2009-06-04 12:09:00) [30]укажите что в коде не так?
Игорь (2009-06-04 12:06:00) [31]
> Медвежонок Пятачок © (04.06.09 11:54) [1]
Говорит правду, но он не верит
Медвежонок Пятачок (2009-06-04 11:54:00) [32]а ты верь тому, что оно тебе говорит.
оно правду говорит