Главная страница
    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.037 c
4-1104192071
Unleashed
2004-12-28 03:01
2005.02.13
Про Usb порты


1-1106943533
Фёдор Мегатронов
2005-01-28 23:18
2005.02.13
Формирование комманды в коммандной строке - как ?


1-1106902280
Jay1982
2005-01-28 11:51
2005.02.13
AddFontResource


3-1105623240
Levitch
2005-01-13 16:34
2005.02.13
Русские записи в InterBase


1-1106821814
Ega23
2005-01-27 13:30
2005.02.13
Копирование данных из TStream в буффер.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский