Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
АндрейФК
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 17
#1

Обеспечить пропуск расчетов, чтобы избежать деления на ноль - C++

25.11.2014, 00:10. Просмотров 269. Ответов 6
Метки нет (Все метки)

Здравствуйте
есть прога, которая вычисляет y=sin(x)/cos(x) в диапазоне изменения X от 0 с шагом 0,2
Нужно обеспечить пропуск расчетов если 0.1<cos(x)<0.1( ну или любой другой интервал )

фрагмент проги
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() 
{float y,dx,x; 
 x=0;
do
{y=sin(x)/cos(x);
printf("Y=%4.1f",y);
x=x+0.2;
}
while (x<=2.0);
    getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2014, 00:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обеспечить пропуск расчетов, чтобы избежать деления на ноль (C++):

Ошибка #IND00. Как избежать деления на ноль? - C++
Есть такая программа #include &lt;clocale&gt; #include &lt;cstdio&gt; #include &lt;math.h&gt; double fact(int n) { double p=1; for (int...

Перехват ошибки деления на ноль в поле Edit - C++
Здравствуйте. У меня такой вопрос. Как можно перехватить ошибку деления на ноль, введенного в поле edit и вывести свое сообщение?

Ошибка деления на ноль, хотя это должно обойти - C++
Добрый день! Пытаюсь сравнить модуль числа с квадратом другого - не получается: if (abs(y)&gt;(x*x)) z=cos(M_PI*x/4); else z=1+1/x; ...

Какой паттерн подойдет, чтобы избежать длинных ветвлений? - C++
здравствуйте, есть код схематично такой: class CTest_base { public: CTest_base() : vec() {} virtual ~CTest_base() noexcept...

Обеспечить, чтобы каждое новое предложение в тексте начиналось с большой буквы - C++
Данная программа должна обеспечить, чтобы каждое новое предложение в тексте начиналось с большой буквы. Она работает, но не делает...

Как дописать, чтобы последнее число выводило Ноль(0) - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int main() { int i,n; int * array...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
D_in_practice
331 / 331 / 159
Регистрация: 02.10.2014
Сообщений: 666
25.11.2014, 11:36 #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() 
{float y,dx,x; 
 x=0;
    do
{
    if (fabs(cos(x)) >= 0.1){
        y=sin(x)/cos(x);
        printf("Y=%4.1f",y);
    }
 
x=x+0.2;
}
while (x<=2.0);
    getch();
    return 0;
}
demmax2004
59 / 137 / 35
Регистрация: 31.10.2014
Сообщений: 721
Записей в блоге: 1
25.11.2014, 11:43 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() 
{float y,dx,x; 
 x=0;
do
{y=sin(x)/(cos(x) + 0.00001f);
printf("Y=%4.1f",y);
x=x+0.2;
}
while (x<=2.0);
    getch();
    return 0;
}
D_in_practice
331 / 331 / 159
Регистрация: 02.10.2014
Сообщений: 666
25.11.2014, 12:29 #4
Код
(cos(x) + 0.00001f) //может оказаться нулем
demmax2004
59 / 137 / 35
Регистрация: 31.10.2014
Сообщений: 721
Записей в блоге: 1
25.11.2014, 12:37 #5
C++
1
(cos(x) + 0.00005f)
АндрейФК
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 17
25.11.2014, 19:48  [ТС] #6
Ну это не то
Допустим есть уровненные: у=х+1
я ввожу число Х
и у меня есть придел к нему 3<x<5 и шаг 0.2
если я попадаю в этот предел, то вместо вывода ответа у меня должен быть пропуск, до момента, пока число не выйдет за приделы, после идет обычный вывод ответа.?
maritux
Заблокирован
25.11.2014, 19:58 #7
Что за глупости, смело делите на ноль, ничего страшного не случится. В с++11 можно так делать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2014, 19:58
Привет! Вот еще темы с ответами:

Как избежать деления на ноль - Delphi
var x1,x2,x3,x4,y1,y2,y3,y4,k1,k2,y,x,b1,b2:Integer; begin x1:=StrToInt(Edit1.text); x2:=StrToInt(Edit2.text); ...

Сделать, чтобы при попытке деления на ноль, выводилось сообщение: «Деление на ноль» - C#
Создайте консольное приложение. В нем реализуйте нахождение значения выражения 1/(x+n), где n – ваш вариант, а вместо х должно вводиться...

Как сделать ноль результатом деления на ноль? - C#
Народ, подскажите пожалуйста как сделать, чтоб при делении на ноль результат был равен нулю, а не бесконечности? переменных, которые могут...

Нужно сделать чтобы при делении на ноль, выводило На ноль делить нельзя, введите другое число - C#
Я сделал, на ноль то он не делит, но когда ввожу другие значение, то там тоже выводится Делить на ноль нельзя, хотя вводил вовсе не ноль...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.11.2014, 19:58
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru