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

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

Восстановить пароль Регистрация
 
АндрейФК
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 17
25.11.2014, 00:10     Обеспечить пропуск расчетов, чтобы избежать деления на ноль #1
Здравствуйте
есть прога, которая вычисляет 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++
какой-то элемент массива равен 1. Теперь мне нужно добавить к этому элементу 0 так, чтобы элемент массива стал равен 10(не десять, а единица и ноль C++
C++ обеспечить, чтобы каждое новое предложение в тексте начиналось с большой буквы.
C++ Оптимизировать алгоритм, чтобы уменьшить количество операций для проверок деления
C++ Ошибка #IND00. Как избежать деления на ноль?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
D_in_practice
 Аватар для D_in_practice
330 / 330 / 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
57 / 135 / 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
 Аватар для D_in_practice
330 / 330 / 159
Регистрация: 02.10.2014
Сообщений: 666
25.11.2014, 12:29     Обеспечить пропуск расчетов, чтобы избежать деления на ноль #4
Код
(cos(x) + 0.00001f) //может оказаться нулем
demmax2004
57 / 135 / 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
если я попадаю в этот предел, то вместо вывода ответа у меня должен быть пропуск, до момента, пока число не выйдет за приделы, после идет обычный вывод ответа.?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2014, 19:58     Обеспечить пропуск расчетов, чтобы избежать деления на ноль
Еще ссылки по теме:

C++ Пропуск строки в файле
C++ Как дописать, чтобы последнее число выводило Ноль(0)
Электронный пропуск C++

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

Или воспользуйтесь поиском по форуму:
maritux
Заблокирован
25.11.2014, 19:58     Обеспечить пропуск расчетов, чтобы избежать деления на ноль #7
Что за глупости, смело делите на ноль, ничего страшного не случится. В с++11 можно так делать.
Yandex
Объявления
25.11.2014, 19:58     Обеспечить пропуск расчетов, чтобы избежать деления на ноль
Ответ Создать тему
Опции темы

Текущее время: 22:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru