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

Перегрузка Log(2) - C++

16.03.2012, 11:25. Просмотров 675. Ответов 8
Метки нет (Все метки)

C++
1
u1 = sin(3.14*2/12)/(log(2));
Пишет, что перегруженная функция. Что сделать?
http://www.cyberforum.ru/cpp-beginners/thread366811.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2012, 11:25
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Перегрузка Log(2) (C++):

по заданым значениям х и у найти значение величины log x y (log с основанием х )
я в принципе понимаю как написать эту программу,но,хоть убейте,в хелпе visual...

Перегрузка в виде метода VS Перегрузка в виде функции друг
Привет! Собственно сабж: В каких случаях используется перегрузка в виде...

Функция log
Здравствуйте! Такой вопрос. Я использовала функцию log для нахождения логарифма...

Console log
Доброго времени суток всем. Подскажите, а как сделать перехват из консольной...

Log по основанию 2
Люди, помогите!!! Нужно написать функцию (Log по основанию 2). Я делал...

8
dimcoder
Полярный
467 / 440 / 157
Регистрация: 11.09.2011
Сообщений: 1,142
16.03.2012, 12:11 #2
Цитата Сообщение от Prin53 Посмотреть сообщение
u1 = sin(3.14*2/12)/(log(2));
Так попробуй:
C++
1
u1 = sin(3.14*2/12)/(log(2.0));
1
Prin53
2 / 2 / 1
Регистрация: 28.02.2012
Сообщений: 117
16.03.2012, 12:25  [ТС] #3
Спасибо, но теперь вообще нет результата.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# include <iostream>
# include <math.h>
using namespace std;
 
int main()
{
    setlocale (LC_ALL,"Russian");
    double e = 0.001, u2, u1,s;
    u1 = sin(3.14*2/12)/(log(2.0));
    s=u1;
    for (double n = 3;;n++)
    {
        u2 = sin(3.14*n/12)/(log(n));
        if (abs(u2-u1)<e)
        {
            break;
        }
        u2=u1;
        s=s+u1;
    }
    cout<<"S = "<<s<<"\n";
    system ("pause");
    return 0;
}
0
Hemull
48 / 48 / 11
Регистрация: 12.03.2012
Сообщений: 108
16.03.2012, 12:58 #4
у тебя цикл до брейка не доходит. нужно увеличивать порог
т.к. n возрастает, соответственно модуль разницы растет

Добавлено через 6 минут
а зачем вот это u2=u1;?
1
Prin53
2 / 2 / 1
Регистрация: 28.02.2012
Сообщений: 117
16.03.2012, 13:04  [ТС] #5
Цитата Сообщение от Hemull Посмотреть сообщение
у тебя цикл до брейка не доходит. нужно увеличивать порог
т.к. n возрастает, соответственно модуль разницы растет
По моему доходит, когда без части с log делал все считало. Порог какой увеличить?

Цитата Сообщение от Hemull Посмотреть сообщение
Добавлено через 6 минут
а зачем вот это u2=u1;?
Задача:
Скласти програму для обчислення суми нескінченного ряду з погрішністю, процесс суммирования прерывается, когда |Uk - U(k-1)| <e. Для этого я их и ввел.
0
Hemull
48 / 48 / 11
Регистрация: 12.03.2012
Сообщений: 108
16.03.2012, 13:23 #6
double e = 0.001,
а подлогарифменная n растет в цикле. соответственно и разница abs(u2-u1) тоже растет и не попадает в предел e = 0.001
проверил. при n = 1971 разница становится < eи срабатывает break

Добавлено через 7 минут
u2=u1; имхо это здесь лишнее
а откуда берешь, что e = 0.001?
1
Prin53
2 / 2 / 1
Регистрация: 28.02.2012
Сообщений: 117
16.03.2012, 13:28  [ТС] #7
Цитата Сообщение от Hemull Посмотреть сообщение
double e = 0.001,
а подлогарифменная n растет в цикле. соответственно и разница abs(u2-u1) тоже растет и не попадает в предел e = 0.001
проверил. при n = 1971 разница становится < eи срабатывает break

Добавлено через 7 минут
u2=u1; имхо это здесь лишнее
а откуда берешь, что e = 0.001?
Из условия.
0
Hemull
48 / 48 / 11
Регистрация: 12.03.2012
Сообщений: 108
16.03.2012, 13:43 #8
C++
1
2
u1=u2;
s=s+u2;
вот так попробуй. должно работать
судя по скрину, надо проверять разницу между соседними членами, а ты проверял между первым и каждым следующим и в u2 заносил значение первого. отсюда и зацкливание
1
Prin53
2 / 2 / 1
Регистрация: 28.02.2012
Сообщений: 117
16.03.2012, 14:02  [ТС] #9
Хм, да, точно. Спасибо.
0
16.03.2012, 14:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2012, 14:02
Привет! Вот еще темы с решениями:

Ошибка с Log(10)
Ругается &quot;error C2668: log: неоднозначный вызов перегруженной функции&quot; в этой...

функция log
Ув.Форумчане, помогите мне необходимо написать эту формула в 3 функция...

Создание log файла
Доброго времени суток. Я написал класс, при вызове определённых функций...

Формула ряда log(x + 1) / (x - 1)
Нужна формула ряда данной функции log((x + 1) / (x - 1)), не знаю, как записать.


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

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

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