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

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

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

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

25.11.2014, 00:10. Просмотров 252. Ответов 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++ Найти частное от деления нацело N на K, а также остаток от этого деления
Ошибка деления на ноль, хотя это должно обойти C++
C++ Дано целое число N(>0).используя операции деления нацело и взятия остатка от деления, найти количество и сумму его цифр
C++ Обеспечить, чтобы каждое новое предложение в тексте начиналось с большой буквы
C++ Оптимизировать алгоритм, чтобы уменьшить количество операций для проверок деления
C++ Ошибка #IND00. Как избежать деления на ноль?
C++ Пропуск строки в файле
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
58 / 136 / 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
58 / 136 / 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++ Как дописать, чтобы последнее число выводило Ноль(0)
Электронный пропуск C++
почему после нажатия на ноль мне приходится два раза жать на Enter чтобы выйти из программы ,хотя я в while ук C++
Пропуск ввода строки C++
Используя операции деления нацело и взятия остатка от деления, определить, имеется ли в записи числа цифра k C++

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

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

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