Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
АндрейФК
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 17
#1

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

25.11.2014, 00:10. Просмотров 307. Ответов 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;
}

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2014, 00:10
Ответы с готовыми решениями:

Ошибка #IND00. Как избежать деления на ноль?
Есть такая программа #include &lt;clocale&gt; #include &lt;cstdio&gt; #include &lt;math.h&gt;...

Перехват ошибки деления на ноль в поле Edit
Здравствуйте. У меня такой вопрос. Как можно перехватить ошибку деления на...

Ошибка деления на ноль, хотя это должно обойти
Добрый день! Пытаюсь сравнить модуль числа с квадратом другого - не...

Какой паттерн подойдет, чтобы избежать длинных ветвлений?
здравствуйте, есть код схематично такой: class CTest_base { public: ...

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

6
D_in_practice
331 / 331 / 331
Регистрация: 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;
}
0
demmax2004
116 / 138 / 46
Регистрация: 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;
}
0
D_in_practice
331 / 331 / 331
Регистрация: 02.10.2014
Сообщений: 666
25.11.2014, 12:29 #4
Код
(cos(x) + 0.00001f) //может оказаться нулем
0
demmax2004
116 / 138 / 46
Регистрация: 31.10.2014
Сообщений: 721
Записей в блоге: 1
25.11.2014, 12:37 #5
C++
1
(cos(x) + 0.00005f)
0
АндрейФК
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 17
25.11.2014, 19:48  [ТС] #6
Ну это не то
Допустим есть уровненные: у=х+1
я ввожу число Х
и у меня есть придел к нему 3<x<5 и шаг 0.2
если я попадаю в этот предел, то вместо вывода ответа у меня должен быть пропуск, до момента, пока число не выйдет за приделы, после идет обычный вывод ответа.?
0
maritux
Заблокирован
25.11.2014, 19:58 #7
Что за глупости, смело делите на ноль, ничего страшного не случится. В с++11 можно так делать.
0
25.11.2014, 19:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2014, 19:58

Как дописать, чтобы последнее число выводило Ноль(0)
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace...

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

Сделать, чтобы при попытке деления на ноль, выводилось сообщение: «Деление на ноль»
Создайте консольное приложение. В нем реализуйте нахождение значения выражения ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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