Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемка с вылетом, Влетае программа в момент компиляции 
:(
    Опции темы
dezolyator
Дата 13.12.2011, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 14.1.2009

Репутация: нет
Всего: нет



Вообщем, в программе реализуется метод Лобачевского.. Она нормально запускается, но когда вводишь числа в консоли, она вылетает...

Помогите пожалуйста

Код

Program TheBest;
  {$APPTYPE CONSOLE}
Function St(Value,Degree:Real):Real;
Begin
        If Degree > 0 Then
                St:=Exp(Degree*Ln(Value))
        Else
                St:=1/(Exp(Degree*Ln(Value)));
End;
 
Var
        j,s,k,i,n,step,izo:Integer;
        summ,akms,akps,b:Real;
        Aa,A,x:Array[0..1000] Of Real;
Begin
        WriteLn('Vvedite stepen uravneniya');
        ReadLn(step);
        n:=step + 1;
        WriteLn('Vvedite koefficienti pri peremennih');
        For i:=0 To Step Do
                ReadLn(Aa[i]);
        j:=2;
        While j <= 128 Do
                Begin
                        For k:=0 To Step Do
                                Summ:=0;
                        For s:=1 To k Do
                                Begin
                                        If ((k-s)<0) Or ((k-s)>step) Then
                                                akms:=0
                                        Else
                                                akms:=Aa[k-s];
                                        If((k+s)<0) Or ((k+s)>step) Then
                                                akms:=0
                                        Else
                                                akps:=Aa[k+s];
                                        summ:=summ+St(-1,s)*akms*akps;
                                End;
                        j:=j*2;
                End;
        A[k]:=Aa[k]*Aa[k]+2*summ;
For i:=0 To Step Do
        Aa[i]:=A[i];
b:=1.0/128.0;
for i:=0 To step Do
x[i]:=St((Aa[i+1]/Aa[i]),b);
for i:=0 To step Do
Begin
izo:=i+1;
WriteLn('X',izo,'=',x[i]);
End;
WriteLn('Podstavte korni v ishodnoe uravnenie');
End.


Это сообщение отредактировал(а) MetalFan - 14.12.2011, 01:15
PM MAIL   Вверх
MetalFan
Дата 14.12.2011, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



Рекомендую (на будущее) выкладывать исходник (тем более он небольшой), пометив его кнопкой "Код", прям на форуме. Ибо качать и смотреть что там у тебя в архиве не каждый будет.
p.s. отвратительное форматирование кода. боюсь мало желающих найдется в нем разбираться.

Это сообщение отредактировал(а) MetalFan - 14.12.2011, 01:18


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Coder
Дата 14.12.2011, 07:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: 2
Всего: 11



Ввод данных здесь не вызывает вылет программы. Она вылетает где-то дальше. 

пытаемся в свою функцию st() передать -1 для вычисления Ln!

Код

Function St(Value,Degree:Real):Real;
Begin
        If Degree > 0 Then
                St:=Exp(Degree*Ln(Value))
        Else
                St:=1/(Exp(Degree*Ln(Value)));
End;

....
summ:=summ+St(-1,s)*akms*akps;


еще бы индексацию массива перепроверить и исключить деление ноль.




Это сообщение отредактировал(а) Coder - 14.12.2011, 07:31
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0401 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.