Запись Математических Примеров В С++

Тема в разделе "C/C++/C#", создана пользователем samich, 17 янв 2012.

  1. samich

    samich New Member

    Регистрация:
    14 янв 2012
    Сообщения:
    1
    Симпатии:
    0
    как нужно записывать примеры чтоб потом программа решила их введя данные
    различные примеры с корнями, степенями и топу подобное, ну еще тангенсы и синусы и т.п
    к примеру как записать данный пример чтоб введя х программа показала ответ
     

    Вложения:

    • 1.jpg
      1.jpg
      Размер файла:
      4,7 КБ
      Просмотров:
      73
    • 1.jpg
      1.jpg
      Размер файла:
      4,7 КБ
      Просмотров:
      70
  2. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    Код (Text):
    xx = x*x;
    xxx = xx*x;
    result = 5*xxx*sqrt(1./xx+1./xxx);
    примерно так
     
  3. samich

    samich New Member

    Регистрация:
    14 янв 2012
    Сообщения:
    1
    Симпатии:
    0
    записывал примерно так же только там корень ведь в 5-ой степени а у тебя он не указан
    решаю в он лайн калькуляторе и в примере С++ результат разный
    result = 5*xxx*sqrt(1./xx+1./xxx,5)
     
  4. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Корень N-й степени из A: pow( A, 1. / N );
     
  5. samich

    samich New Member

    Регистрация:
    14 янв 2012
    Сообщения:
    1
    Симпатии:
    0
    вот так записываю
    result=5*pow(x,3)*pow(1/pow(x,2)+1/pow(x,3), 1/5) ;
    cout<<"x="<<x<<" 5*x^3*pow(1/pow(x,2)+1/pow(x,3), 1/5)="<<result<<"\n";

    и так пробовал
    result=5*pow(x,3)*pow(1/pow(x,2)+1/pow(x,3), 1.0/5) ;
    cout<<"x="<<x<<" 5*x^3*pow(1/pow(x,2)+1/pow(x,3), 1.0/5)="<<result<<"\n";

    ответ выдает 40
    но мне кажется он ответ считает до корня там как раз и получается 40
    получается не правильно он считает
     
  6. samich

    samich New Member

    Регистрация:
    14 янв 2012
    Сообщения:
    1
    Симпатии:
    0
    усли просто написать sqrt ( то есть из корня во второй степени ), то решает нормально
    а если pow (x, 1./5)
    то пишет отсутствуют экземпляры перегруженна функция
     
  7. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Не может такого быть. Вот прототипы: http://www.cplusplus.com/reference/clibrary/cmath/pow/

    Скомпилируй и покажи что у тебя получилось:
    Код (C++):
    #include <stdio.h>
    #include <math.h>

    void main()
    {
    printf( "sqrt( 64 ) = %5.2f\n", sqrt( 64 ) );
    printf( "pow( 64, 1. / 2 ) = %5.2f\n", pow( 64, 1. / 2 ) );
    }
     
  8. samich

    samich New Member

    Регистрация:
    14 янв 2012
    Сообщения:
    1
    Симпатии:
    0
    на первом скрине я использовал pow вроде все нормально ошибок нет
    за Х взял 2
    но ответ получается 40 ( такой ответ получаеться лишь до 5*2^3)
    значит неправильно записанна формула
    там должно получиться что то вроде 32

    на фтором взял sqrt(x,5) то есть х в пятой степени корня
    если взять просто sqrt то пример решается правильно.
    как этот корень в пятую степень написать и чтоб пример решался правильно?
    2.jpg
    3.jpg

    Добавлено: если кого не затруднит напишите пример а я у себя проверю
     
  9. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Нельзя писать 1 / X, т.к. целочисленную единицу разделить нельзя!
    Надо писать: 1.0f / X или 1.0 / X или 1.f / X или 1. / X
    В твоем случае надо писать 1.f / X или 1.0f / X, что по сути одно и то же.

    Такой функции не существует. sqrt расшифровывается как SQuare RooT и означает именно квадратный корень. Функции извлечения корня N-ой степени в математической библиотеке нет.
     
  10. samich

    samich New Member

    Регистрация:
    14 янв 2012
    Сообщения:
    1
    Симпатии:
    0
    спасибо попробую как ты написал в инете видел просто что через sqrt можно



    Добавлено: спасибо дорогой исправил как ты и сказал сразу ответ сошелся. Добра и счастья в твой дом.
    Надо писать: 1.0 / X или 1. / X так писал не получалось
    скажи где помжно посмотреть каждую функцию и значение библиотек
    на русском языке. а то по английски плохо пока понимаю


    Добавлено: жму на плюсик чтоб отблагодорить не жмется
     
  11. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    очень хотел бы на это посмотреть.

    на русской не подскажу, сам смотрю только на английском: http://www.cplusplus.com/reference/clibrary/cmath/sqrt/

    У тебя сообщений мало, "+" или "-" может поставить только зарегистрированный пользователь с количеством сообщений не менее 10, на сколько мне известно...

    Без буквы f на конце - это число типа double, с буквой - float.
     
  12. Araneus

    Araneus Гость

    У меня вот так получилось запустить спокойно

    Код (C++):
    #include <iostream.h>
    #include <conio.h>
    #include <math.h>
    main()
    {
    clrscr();
    float x;
    cout<< "Enter the number:\n ";
    cin >> x;
    cout << "\n\tf(x)="<< 5*pow(x,3)*pow(pow(x,-2)+pow(x,-3),1.0f/5)<<"\n";
    getch();
    }
    Для 2 результат 32,875
    для 3 результат 92,1453
     
  13. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Araneus, 1 / x^3 это НЕ корень третьей степени из x !
     
  14. Araneus

    Araneus Гость

    А где ты у меня такое увидел?

    И корня третей степени в уравнениях вообще нету.
     
  15. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    А не все верно, это я не туда посмотрел.
     
Загрузка...

Поделиться этой страницей