Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

21.06.2011, 23:25. Просмотров 969. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2011, 23:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос выдаёт деление на ноль. Где ошибка? (C++):

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

Мини калькулятор или деление на ноль - C++
Привет форумчани. Написал я программу что-то на подобия калькулятора который работает с математическими выражениями. Все отлично работает...

Вычислить значение функции и обработать деление на ноль - C++
Всем добрый день! Пожалуйста, помогите разобраться с задачкой: Дано: y=1/x (-10&lt;x&lt;10) Вывести значения x и y, учитывая, что при x=0...

Разрешено ли деление на ноль, если числитель равен нулю - C++
Разрешено ли деление на ноль, если числитель тоже ноль.

не могу понять ошибку типов переменных при деление идет обращение в ноль - C++
проблема в том что при деление у ми идет обращение в 0, хотя по сути его не должно быть const int m=10, n=1000; // по заданию...

Патерн "прототип" не работает, выдаёт ошибку "недопустимый вызов нестатической ф-ции", где я в коде ошибка? - C++
Вот мой код... #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;vector&gt; #define vrom vector&lt;room&gt; using namespace std; ...

6
garkeP91
50 / 50 / 5
Регистрация: 24.10.2010
Сообщений: 131
22.06.2011, 11:02 #2
Что должна делать программа? Какой компилятор?
0
grizlik78
Эксперт С++
1966 / 1459 / 120
Регистрация: 29.05.2011
Сообщений: 3,018
22.06.2011, 11:09 #3
Это ещё и запускается? Функция Ln_a без аргументов не определена.
0
taras atavin
3570 / 1753 / 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 без аргументов не определена.
Она видимо дальше, а прототип есть.
0
grizlik78
Эксперт С++
1966 / 1459 / 120
Регистрация: 29.05.2011
Сообщений: 3,018
22.06.2011, 11:15 #5
Учитывая место, где расположен прототип, я умаю он там появился только чтобы скомпилировалось, а на самом деле предполагалась функция с аргументом. Но гадать смысла мало
0
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
22.06.2011, 11:21 #6
Тогда бы была неизвестная ссылка на функцию и всё равно бы не скомпилилось.
0
accept
4825 / 3246 / 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() без аргумента ?
0
23.06.2011, 04:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2011, 04:20
Привет! Вот еще темы с ответами:

Выдаёт ошибку.не могу найти где загвоздка - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; template &lt;class T&gt; void Sum(T*mas, int n) { int sum=0,num; ...

Code::Blocks выдаёт ошибку там где её не должно быть - C++
Я решил написать простенькую программу по преобразованию градусов Цельсия в градусы Фаренгейта, а CodeBlocks выдаёт ошибку в строках 11 и...

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

ошибка в прорамме. выдаёт отрицательный ответ - C++
Составить программу для вычисления суммы данного ряда для указанного значения аргумента х, если известное количество N членов ряда ...


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

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

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