Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему не правильно работает SetLength? [D7, WinXP]


Страницы:   1 2

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]

а ты верь тому, что оно тебе говорит.
оно правду говорит


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо