С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Нахождение min и max методом сканирования - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проверка правильности расстановки скобок http://www.cyberforum.ru/cpp-beginners/thread215892.html
Доброго время суток товарищи программисты. Дано задание: Требуется проверить правильность расстановки скобок в некотором выражении. Если каждой открывающей скобке соответствует закрывающая, то ...
C++ Отпишите пожайлуста. Структуры С++ Описать структуру в С++ с именем STUDENT содержащую фамилию и инициалы номер группы и успеваемост (массив из 5 элементов - оценки). - Ввод с клавы данных в массив из 10 структур типа SТUDENT... http://www.cyberforum.ru/cpp-beginners/thread215887.html
C++ Поменять местами первую и вторую половины массива
Дан массив а, состоящий из 10 элементов. Поменять местами первую и вторую его половины
C++ 2-х мерный масив. Найти мин элемент среди элементов который находится над главной диагональю
Помогите сижу на КР Дан 2-х мерный масив (n=m). Найти минимальный элемент среди элементов который находится над главной диагональю. (написать надо через функции).
C++ Коэфициент пересчета http://www.cyberforum.ru/cpp-beginners/thread215871.html
Помогите посчитать коэфициент пересчёта для функции: Заранее спасибо!
C++ Не работает сортировка С++ Добрый день! Требуется отсортировать структуру по возрастанию по полю name. Решил использовать быструю сортировку, но она не работает, а ошибку я никак не найду( #include <iostream> #include... подробнее

Показать сообщение отдельно
Vergil
42 / 36 / 14
Регистрация: 11.11.2009
Сообщений: 244

Нахождение min и max методом сканирования - C++

20.12.2010, 16:18. Просмотров 728. Ответов 1
Метки (Все метки)

Помогите с програмкой. Написал, а она мне выдает invalid floating point operation.
Кидает на строчку, где не должно быть ошибки.
Может у кого-то есть более лучший вариант проги?
функция
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
double scan(double a, double b, double e, double h)
{double c=h, x0=a, x1;
int w, k=2;
for (;;) {
 
if (f(x0)<f(x0+0.001))
{w=-1;str=" Максимума ";break;}
else{w=1;str=" Минимума ";}
 
x1=x0+c;
 
if (x1==b) {ka=1;}
 
if((w*f(x1))<w*f(x0)){x0=x1;}
 
else{
 
if (w*f(x1)>f(x0)) {
 
if (fabs(c)<e){return x0;}
x0=x1;c=-c/k;}
 
else{
 
if(f(x1)==f(x0)){return ((x1+x0)/2);}}}}}
вызов
C++
1
2
3
4
5
6
7
void __fastcall TForm1::Button2Click(TObject *Sender)
{for(;;){
 
Form1->Memo1->Lines->Add((String)"Точка"+str+"="+scan(Edit1->Text.ToDouble(),Edit2->Text.ToDouble(),Edit3->Text.ToDouble(),Edit4->Text.ToDouble()););//pocazivaet chto tut oshibka
 
if (ka==1){break;}}
}
если точность поставить 0 и шаг 0, то работает.

Добавлено через 12 минут
что-то явно с шагом. Выставляешь 0, то работает. шаг - h.

Добавлено через 1 час 40 минут
спасибо, решил сам. Просто при шаге не равным нулю, у меня ничего не возвращалось. Он на это и жаловался.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.