Автор Тема: помогите пожалуйста решить задачки по С / С++  (Прочитано 2143 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Саныч

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Здравствуйте! помогите пожалуйста решить задачу: Вычислить значение функции y(x). Значения переменной x и параметров a и b вводить с клавиатуры.
« Последнее редактирование: 27 Октября 2011, 17:46:02 от Саныч »

Оффлайн Саныч

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
помогите пожалуйста решить задачки по С / С++
« Ответ #1 : 27 Октября 2011, 17:45:02 »
вот мой собственный вариант решения, но при определенных значениях выдает ошибку в вычислении. Мне кажется что дело в ограничении условия, но исправить не получается.

#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{double a,b,x,y;
char c;
do {
cout<<"x=";
cin>>x;
cout<<"a=";
cin>>a;
cout<<"b=";
cin>>b;
y=sqrt(pow(cos(a*x),b/3));
if (pow(cos(a*x),b/3)<0) cout <<"neverno"<< endl;
else cout<<"y="<<y<<endl;
cout<<"Press r to return"<<endl;
   cin>>c;}
while(c=='r');

   return 0;
}

Оффлайн Данила

  • Глобальный модератор
  • *****
  • Сообщений: 1657
  • Математик-экстрасенс
    • Просмотр профиля
y=sqrt(pow(cos(a*x),b/3));
if (pow(cos(a*x),b/3)<0) cout <<"neverno"<< endl;
else cout<<"y="<<y<<endl;

косяк тут.
вы сначала вычисляете, а потом уже делаете проверки, что не есть правильно
if (pow(cos(a*x),b/3)<0) cout <<"neverno"<< endl;
else {
  y=sqrt(pow(cos(a*x),b/3));
  cout<<"y="<<y<<endl;
}
Просьба не кидать мне в ЛС Ваши задания...создаем тему,пишем свое задание,наработки\идеи...полностью и нахаляву ничего не решаю

Вам в помощь:
∫ ¼ ½ ¾ ⅓ ⅔ ⅛ ⅜ ⅝ ⅞ ² ³ ± ~ ‰ ∞ √ ∑ ∆ ℮ ∩ ≡ ≤ ≥ ≈ ∩