![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 20.10.2008
Сообщений: 5
|
![]()
Вот код:
#include <clx.h> #include <conio.h> #include <iostream.h> #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused double MyFunk(double x); double main() { int k=1; double a[1000], b[1000], epsilon, sigma, alfa[1000], beta[1000]; cout<<"wwedite interval a and b"<<endl; cin>>a[k]>>b[k]; cout<<"wwedite tochnost and const raslichimosti"<<endl; cin>>epsilon; cout<<"wwedite sigma"<<endl; cin>>sigma; while(b[k]-a[k]>=epsilon) { cout<<k<<" a"<<a[k]<<" b"<<b[k]<<" beta"<<beta[k]<<" alfa"<<alfa[k];//строка просто для проверки cout<<endl; alfa[k]=(b[k]+a[k])/2-sigma; beta[k]=(b[k]+a[k])/2+sigma; if(MyFunk(alfa[k])>MyFunk(beta[k])) {a[k+1]=alfa[k]; b[k+1]=b[k];} else if(MyFunk(alfa[k])<=MyFunk(beta[k])) {a[k+1]=a[k]; b[k+1]=beta[k];}//на эту строчку говорит ошибка! k++;} cout<<a[k]<<b[k]; return 0; } double MyFunk(double x) { double fk=x*x; return fk; } Я для проверки ввожу а=-6, b=6 дальше 0.001 и 0.01 в одной строчке просто встает и болты, компилятор отрубается, пробовал в Borland C++ Builder там показывает что массив просто забивается и ошибку выдает... что делать не понятно... Последний раз редактировалось Hyjak; 20.10.2008 в 21:33. Причина: не тот код) |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 19.10.2008
Сообщений: 32
|
![]()
просто вышел за рамки заданного тобой же диапазона b[1000]... добавил проверку...
в остальном все работает….чего-то считает…)) |
![]() |
![]() |
![]() |
#3 |
Регистрация: 20.10.2008
Сообщений: 5
|
![]() |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 19.10.2008
Сообщений: 32
|
![]() |
![]() |
![]() |
![]() |
#5 |
Регистрация: 20.10.2008
Сообщений: 5
|
![]() ![]() |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 19.10.2008
Сообщений: 32
|
![]()
посмотри это, мож поможет... http://ru.wikipedia.org/wiki/Двоичный_поиск
|
![]() |
![]() |
![]() |
#7 | |
Регистрация: 20.10.2008
Сообщений: 5
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,096
|
![]()
Индексация элементов массива с нуля начинается. Поэтому может нужно инициализировать k значением 0, а не 1?
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не могу понять в чем проблема (код) | diznt | Помощь студентам | 2 | 03.08.2008 10:20 |
VB6. Программа зависает при выполнении. | Artinka | Помощь студентам | 2 | 03.04.2008 00:06 |
Не могу понять задание | amandra | Помощь студентам | 11 | 16.10.2007 10:24 |
не могу понять... | Dutchman | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 14.12.2006 07:14 |
Не могу понять задание | Юдифь | Помощь студентам | 2 | 12.12.2006 17:40 |