Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];

Вниз

Если не сложно - напишите ответ на 145й пост   Найти похожие ветки 

 
TUser ©   (2005-01-28 15:17) [0]

вот из этой ветки
http://delphimaster.net/view/1-1106658881/


 
Александр Иванов ©   (2005-01-28 15:23) [1]

Насколько помню точно также, за исключением динамических массивов.


 
TUser ©   (2005-01-28 15:27) [2]

Там статические, но обсуждаемый код после TPC.exe (6я версия) выдал RunTimeError 202, а dcc32.exe (после того, как ублат ТР"шный модуль и написал apptype) сделал безглючную программу.


 
TUser ©   (2005-01-28 15:28) [3]

Паскалем скомпилированная программа нормально заработала, когда я написал PVector = ^TVector, Vector: PVector, дальше - New и Dispose + операторы разыменования везде, где надо. В вызовах функций убрал var, и заменил типа параметра на TVector.


 
Александр Иванов ©   (2005-01-28 15:36) [4]

Она, по идее, и в ТР должна работать, я не вижу ошибок. А что хелп говорит, по поводу ошибки 202?
Когда-то я их помнил :).


 
TUser ©   (2005-01-28 16:04) [5]


> Она, по идее, и в ТР должна работать, я не вижу ошибок

Я тоже так думал.

Хелпа у меня нет по ТР - только консольный компилятор.


 
PVOzerski ©   (2005-01-28 16:46) [6]

Stack overflow - можно поиграть директивой {$M ... (1-е число)


 
PVOzerski ©   (2005-01-28 16:47) [7]

Много рекурсий или локальных переменных?


 
Александр Иванов ©   (2005-01-28 16:57) [8]

PVOzerski ©   (28.01.05 16:46) [6]
можно поиграть директивой {$M ... (1-е число)

Там всего массив 10000 элементов, целочисленный, так что память не при чем.

PVOzerski ©   (28.01.05 16:47) [7]
Много рекурсий или локальных переменных?

Никаких рекурсий.

Вы думаете ошибка связана с нехваткой памяти?


 
Александр Иванов ©   (2005-01-28 16:58) [9]

Извините, не заметил начало [6]


 
PVOzerski ©   (2005-01-28 16:58) [10]

Александр, в этой директиве 1-й параметр - размер стека. А твой массив часом не локальный?


 
Александр Иванов ©   (2005-01-28 17:02) [11]

Это не мой массив :). Вот код:
Program FindMinPrg;

Uses Crt;

Type
TVector = Array [1..10000] Of integer;

Var
Vector : TVector;
 I : Integer;

Function FindMin (Vect : TVector) : Integer;
Var
X, Min : Integer;
Begin
Min := Vect [1];
For X := 2 To 10000 Do
If Min > Vect [x] Then
 Min := Vect [X];

FindMin := Min;
End;

Procedure SetRandom (Var Vect : TVector);
Var
X : integer;
Begin
For X := 1 To 10000 Do
  Vect [x] := random (32767)-16384;
End;

Begin
ClrScr;
Randomize;
 SetRandom (Vector);
 WriteLn ("Min: ", FindMin (Vector));
End.


 
Александр Иванов ©   (2005-01-28 17:04) [12]

По моему переполнению стека просто неоткуда взяться.


 
Александр Иванов ©   (2005-01-28 17:06) [13]

По умолчанию 16К? Если так то в Function FindMin (Vect : TVector) : Integer; параметр по значению передается и как раз превышает 16К.


 
Александр Иванов ©   (2005-01-28 17:09) [14]

И все решение - в добавлении слова var


 
TUser ©   (2005-01-28 19:06) [15]

Понятно, спасибо.

Хорош Делфи размером стека ...


 
_Lucky_   (2005-01-28 19:27) [16]


> Александр Иванов ©   (28.01.05 17:09) [14]
> И все решение - в добавлении слова var


браво! на 5+, если честно задай мне такую задачу ввек бы не решил, ну не знаю я на столько хорошо пас.


> TUser ©   (28.01.05 19:06) [15]
> Понятно, спасибо.
>
> Хорош Делфи размером стека ...


отнють, представть что надо отсортировать массив в 100 мегов, может возникнуть неприятная ситуация, хотя щас 100 мегов никого не удевить, у меня например 512, но все же



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.035 c
4-1104140322
Olga_b
2004-12-27 12:38
2005.02.13
Работа с Gameport


4-1103639572
tradakad
2004-12-21 17:32
2005.02.13
Получение хендла приложения если нет формы


8-1098431365
slim
2004-10-22 11:49
2005.02.13
видео буфер


3-1105604882
Rostislav Rotaru
2005-01-13 11:28
2005.02.13
Как правильнее огрганизовать взаимодействие с базой из интерфейса


1-1107240934
syte_ser78
2005-02-01 09:55
2005.02.13
TLSDNumber





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский