![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 18.01.2009
Сообщений: 1
|
![]()
Здравствуйте! Меня зовут Антон, я студент. У меня возникла следующая проблема:
При реализации программы использующей алгоритм Прима на языке Pascal в процессе ее выполнения возникает ошибка: Stack overflow error (Ошибка переполнения стека). Код программы: <CODE> Program Algo_Prim; Const DIMMAX = 100; INFS = 100; Type Matrix1 = array[1..DIMMAX, 1..DIMMAX] of Integer; var i, j, n: Integer; C:Matrix1; {-----------------------------------------} Procedure Prima(D:Matrix1); var Lowcost:array[1..DIMMAX] of Integer; Closest:array[1..DIMMAX] of Integer; i, j, k, min:Integer; Begin for i:=2 to n do begin Lowcost[i]:=D[1, i]; Closest[i]:=1; end; for i:=2 to n do begin min:=Lowcost[2]; k:=2; for j:=3 to n do if Lowcost[j]<min then begin min:=Lowcost[j]; k:=j; end; Writeln(k, Closest[k]); Lowcost[k]:=INFS; for j:=2 to n do if (D[k, j]< Lowcost[j]) AND (Lowcost[j]<INFS) then begin Lowcost[j]:=D[k, j]; Closest[j]:=k; end; end; End; {------------} BEGIN Writeln('Enter dimmension of matrix'); Readln(n); Writeln('Enter a matrix of length of edges'); for i:=1 to n do begin for j:=1 to n do begin Read(C[i, j]); end; end; Prima(C); Readln END. </CODE> Вопрос: где именно я допустил ошибку и в чем конкретно я ошибься? Заранее благодарю!.. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 24.11.2007
Сообщений: 196
|
![]()
А можешь описать этот Алгоритм? или ссылку кинь
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Максимальные размеры матрицы сократил, ошибка пропала. Хотя что делает программа неясно, поскольку после ввода матрицы ее работа заканчивается.
тьфу ты. ввод неправильно написан. readln нету. Перепиши это место. Код:
Последний раз редактировалось puporev; 19.01.2009 в 16:33. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Метод вижинера | Ghost_Dante | Помощь студентам | 12 | 01.12.2011 21:58 |
Метод Гаусса | IgorKr | Помощь студентам | 10 | 03.02.2008 11:28 |