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

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

Войти
Регистрация
Восстановить пароль
 
Дарья Дмитренко
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 44
#1

выдаёт деление на ноль. Где ошибка? - C++

21.06.2011, 23:25. Просмотров 951. Ответов 6
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream.h>
#include<math.h>
#include<conio.h>
double Ln_a(double a)
{
 return (a-1)-(a-1)*(a-1)/2+(a-1)*(a-1)*(a-1)/3+(a-1)*(a-1)*(a-1)*(a-1)/4;   }
 
void main()
{
double P, a, b, Ln_a();
cout<<"введите а, 0<a<2: ";
cin>>a;
if ((a>=2) || (a<=0)) {cout<<"введите другое а!";
            return;}
 
cout<<"введите b: ";
cin>>b;
P=sqrt(Ln_a()+2*((1+a*a)/log(b)))+sqrt(log(b)/(1+b*b))+(1+a*a)*2*b/(log(b)*Ln_a());
          cout<<"P="<<P;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2011, 23:25     выдаёт деление на ноль. Где ошибка?
Посмотрите здесь:
Отловить деление на ноль C++
Мини калькулятор или деление на ноль C++
C++ Разрешено ли деление на ноль, если числитель равен нулю
C++ не могу понять ошибку типов переменных при деление идет обращение в ноль
Патерн "прототип" не работает, выдаёт ошибку "недопустимый вызов нестатической ф-ции", где я в коде ошибка? C++
C++ Выдаёт ошибку.не могу найти где загвоздка
C++ Code::Blocks выдаёт ошибку там где её не должно быть
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
garkeP91
50 / 50 / 5
Регистрация: 24.10.2010
Сообщений: 131
22.06.2011, 11:02     выдаёт деление на ноль. Где ошибка? #2
Что должна делать программа? Какой компилятор?
grizlik78
Эксперт С++
1908 / 1440 / 110
Регистрация: 29.05.2011
Сообщений: 2,995
22.06.2011, 11:09     выдаёт деление на ноль. Где ошибка? #3
Это ещё и запускается? Функция Ln_a без аргументов не определена.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
22.06.2011, 11:11     выдаёт деление на ноль. Где ошибка? #4
Цитата Сообщение от Дарья Дмитренко Посмотреть сообщение
(log(b)*Ln_a()
чему равны b и Ln_a()? Если b=1, или Ln_a()=0, то log(b)*Ln_a()=0.

Добавлено через 1 минуту
Цитата Сообщение от grizlik78 Посмотреть сообщение
Функция Ln_a без аргументов не определена.
Она видимо дальше, а прототип есть.
grizlik78
Эксперт С++
1908 / 1440 / 110
Регистрация: 29.05.2011
Сообщений: 2,995
22.06.2011, 11:15     выдаёт деление на ноль. Где ошибка? #5
Учитывая место, где расположен прототип, я умаю он там появился только чтобы скомпилировалось, а на самом деле предполагалась функция с аргументом. Но гадать смысла мало
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
22.06.2011, 11:21     выдаёт деление на ноль. Где ошибка? #6
Тогда бы была неизвестная ссылка на функцию и всё равно бы не скомпилилось.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2011, 04:20     выдаёт деление на ноль. Где ошибка?
Еще ссылки по теме:
C++ Ошибка #IND00. Как избежать деления на ноль?
ошибка в прорамме. выдаёт отрицательный ответ C++
C++ При решении программа выдаёт значение функции, равное 0 или выдаёт ошибку. Что не так?
Ошибка деления на ноль, хотя это должно обойти C++
C++ Требуется найти ноль функции на отрезке. В чём ошибка?

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

Или воспользуйтесь поиском по форуму:
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
23.06.2011, 04:20     выдаёт деление на ноль. Где ошибка? #7
сделай построчное форматирование и смотри номер строки
C++
1
P=sqrt(Ln_a()+2*((1+a*a)/log(b)))+sqrt(log(b)/(1+b*b))+(1+a*a)*2*b/(log(b)*Ln_a());
C++
1
2
3
P = sqrt(Ln_a() + 2 * ((1 + a * a) / log(b))) +
    sqrt(log(b) / (1 + b * b)) +
    (1 + a * a) * 2 * b / (log(b) * Ln_a());
например, log(1) даёт 0.0, Ln_a(1.0) даёт 0.0
и почему у тебя в последнем операнде сложения Ln_a() без аргумента ?
Yandex
Объявления
23.06.2011, 04:20     выдаёт деление на ноль. Где ошибка?
Ответ Создать тему
Опции темы

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