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

Возведение в степени, не используя pow - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ FFT в bass.dll http://www.cyberforum.ru/cpp-beginners/thread537313.html
Доброго времени суток!Оговорюсь сразу я не программист и пишу программу методом "copy-past"))) ну некому больше ! К делу! для обработки звука посоветовали bass.dll-я во всем разобрался кроме одного:float fft; BASS_ChannelGetData(chan, fft, BASS_DATA_FFT1024); fft-здесь как я понимаю реальная часть, а как получить и мнимую?Если можно подкиньте примерчик.Заранее спасибо
C++ Прошу помощи ,не двигается змейка #include<iostream> #include<windows.h> #include<conio.h> using namespace std; const int Y = 20, X = 50; enum DIR{UP, DOWN, LEFT, RIGHT}; void main() { http://www.cyberforum.ru/cpp-beginners/thread537303.html
C++ Моделирование случайных чисел с экспоненциальным законом распределения
Программирования случайных чисел с экспоненциальным законом распределения. Товарищи помогите пожалуйста.
C++ Вопрос о bmp[header info]
Хочу открыть bmp файл и проверить, на самом ли деле это BMP. Для этого, делаю проверку первых двух байт на BM, и следующих четырех с размером файла, НО эти четыре байта CE 6B 0E 00 (h) = 3463122432(d). Однако же размер совсем другой, в чем неправильная моя математика?
C++ Структура - заработная плата http://www.cyberforum.ru/cpp-beginners/thread537288.html
привет. сел за курсовую. вроде написал, но не работает. помогите и исправьте пожалуйста. информация должна считываться с файлов, я их вложил. Расчет зарплаты. структура должна иметь такие поля: *фамилия и инициалы. *год приёма на роботу. *зарплата. *функция, которая возвращает значение надбавки к зарплате относительно стажа: от 5 до 10 лет - 5%, от 10 до 15 лет - 10%, больше 15 лет -...
C++ Создать и организовать ввод четырёх перерменных типа строка Создать и организовать ввод четырёх перерменных типа строка. Объединить в прямой последовательности начиная со второй строки, после объединить с первой. Пример #include <stdio.h> #include <string> main() { char s1,s2; printf("1 stroka\n"); scanf("%s", &s1); printf("2 stroka\n"); подробнее

Показать сообщение отдельно
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
03.04.2012, 19:40     Возведение в степени, не используя pow
Цитата Сообщение от Ksan Посмотреть сообщение
Kuzia domovenok, exp и ln хранятся в math.h, я хочу без нее
Merovingian дал замечательные формулы вычисления ln и exp они подходят и для дробных аргументов.
Собственно math.h тоже скорее всего по ним считает.

Добавлено через 12 минут
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
25
26
27
const float eps=0.01;
float Myexp(float x){
 float a=1.0;
 float sum;
 float n=1.0;
  while (a>eps){
   a=a*x/n;
   sum=sum+a;
   n=n+1.0;
  }
  return sum;
}
float Myln(float x){
 float a=1.0;
 float sum;
 float n=2.0;
 x=x-1.0;
  while (a>eps){
   a=a*(-x);
   sum=sum+a/n;
   n=n+1.0;
  }
  return sum;
}
float MyPow(float x, float y){
return MyExp(y*Myln(x));
}
Добавлено через 29 минут
Ой, только вот с логарифмом поторопился я - там явная ошибка

Добавлено через 11 минут
Цитата Сообщение от Ksan Посмотреть сообщение
Kuzia domovenok, exp и ln хранятся в math.h, я хочу без нее
Так лучше
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
25
26
27
28
29
30
const float eps=0.01;
float Myexp(float x){
 float a=1.0;
 float sum=1.0;
 float n=1.0;
  while (a>eps){
   a=a*x/n;
   sum=sum+a;
   n=n+1.0;
  }
  return sum;
}
float Myln(float x){
 float a=1.0;
 float p=1.0;
 float sum=0.0;
 float n=1.0;
 x=x-1.0;
 
  while (fabs(a)>eps){
   a=(p/n)-(p*x)/(n+1);
   sum+=a;
   p=p*x*x;
   n+=2.0;
  }
  return sum;
}
float MyPow(float x, float y){
return MyExp(y*Myln(x));
}
 
Текущее время: 00:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru