Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2008, 09:07   #1
DeFace
Пользователь
 
Аватар для DeFace
 
Регистрация: 27.09.2008
Сообщений: 60
По умолчанию log(abs(cos(x)))

Доброго времени суток господа кодеры) Я поступил на заочное отделение КНиИТ. Начал изучать С++. Помогите пожалуйста с заданием.
Надо написать програмку которая вычисляет ln|cos x|/ln(1+x^2);
Я написал, но в итоге программа выводит чё то не то. Объясните в чём проблема. Компилировал в визуал С++ 6. Друзья пробывали в 2005 и 2008, говорят вообще не компилируется.

#include<stdio.h>
#include<iomanip.h>
#include<conio.h>
#include<iostream>
#include<math.h>

int main()
{
cout << " ln|cos x|/ln(1+x^2)" << endl << endl;
double x;
cout << "Enter X: ";
cin >> x;
double result = log(abs(cos(x)))/log(1+pow(x,2));
cout << "Result: "<< setprecision(3) << result << endl;

getch();
return 0;
}
DeFace вне форума Ответить с цитированием
Старый 28.09.2008, 13:07   #2
alexinspir
Новичок
Джуниор
 
Аватар для alexinspir
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Код:
#include<iomanip>
#include<conio.h>
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
   cout << "                          ln|cos x|/ln(1+x^2)" << endl << endl;
   double x;
   cout << "Vvedite x, v radianax: ";
   cin >> x;
//   x/=57.295779513; // Расскоментировать для ввода в градусах.
   double temp1=cos(x);
   if (temp1<0)
   {
      temp1*=(-1);
   }
   temp1=log(temp1);
   double temp2=log(1+pow(x,2));
   double result=temp1/temp2;
   cout << "Result: "<< setprecision(3) << result << endl;
   getch();
   return 0;
}
abs работает только с целочисленным значением(тип int).
Компиляторы M$ - дерьмо, ибо значительно отступают от стандартов ISO(всемирных), внедряя собственные стандарты.
p.s. скомпилировал без ошибок и варнингов в mingw.
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.

Последний раз редактировалось alexinspir; 28.09.2008 в 13:14.
alexinspir вне форума Ответить с цитированием
Старый 28.09.2008, 14:10   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Вместо abs можно попробовать использовать fabs. Не компилилось в 2005 студии вероятно из-за отсутствия using namespace std;
pu4koff вне форума Ответить с цитированием
Старый 28.09.2008, 17:32   #4
DeFace
Пользователь
 
Аватар для DeFace
 
Регистрация: 27.09.2008
Сообщений: 60
По умолчанию

Цитата:
Сообщение от alexinspir Посмотреть сообщение
Код:
#include<iomanip>
#include<conio.h>
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
   cout << "                          ln|cos x|/ln(1+x^2)" << endl << endl;
   double x;
   cout << "Vvedite x, v radianax: ";
   cin >> x;
//   x/=57.295779513; // Расскоментировать для ввода в градусах.
   double temp1=cos(x);
   if (temp1<0)
   {
      temp1*=(-1);
   }
   temp1=log(temp1);
   double temp2=log(1+pow(x,2));
   double result=temp1/temp2;
   cout << "Result: "<< setprecision(3) << result << endl;
   getch();
   return 0;
}
abs работает только с целочисленным значением(тип int).
Компиляторы M$ - дерьмо, ибо значительно отступают от стандартов ISO(всемирных), внедряя собственные стандарты.
p.s. скомпилировал без ошибок и варнингов в mingw.

Спасибо тебе. Я знаю что компиляторы от майкрософт оно самое(у них всё такое ). Использую его потому что нас учат на нём. pu4koff fabs рулит. Выбиру наверно этот вариант. Хоть я и знаю чё такое if, но всётаки надо решить эту проблему по проще - как для первого курса. Тебе тоже спасибо земляк. Я от тебя в 200 киллометрах. Ртищево
DeFace вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц