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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2013, 18:54   #1
dkii
Пользователь
 
Регистрация: 11.12.2013
Сообщений: 54
По умолчанию Перепишите код

Здраствуйте, помогите пожалуйста переписать код
Задание
<Работа с функциями>
Составить программу для вычисления указанных выражений с использованием пользовательских функций. Вид вычисляемого функцией выражения определить с задания самостоятельно, внимательно проанализировав выходное выражение. Входные данные и результат вывести на экран. Числовые значения входных данных выводить с двумя знаками после запятой. Результат вывести с 5 знаками после запятой.
В задании должна обязательно присутствовать функция, которая будет вызываться с тела программы.
Код:
#include <iostream>
#include <iomanip>
#include <cmath>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    double x, y, q;
    double r, t;
 
    while(1)
    {
        cout << "Введите q: " << endl;
        cin >> q;
        if (q == 0)
            cout << "Ошибка! Введите q заново!" << endl;
        else 
            break;
    }
    
    while(1)
    {
        cout << "Введите x, y: " << endl;
        cin >> x >> y;
         if (x == y)
            cout << "Ошибка! Введите x и y заново!" << endl;
        else 
            break;
    }
 
    r = q + log(q) + 2.549*log(q + q*q + 1/q);
    t = 2.549*log(pow((x - y), 3) + pow((x - y), 6) + 1/(x - y));
 
    system("cls");
    cout << "q = " << fixed << setprecision(2) << q <<endl;
    cout << "x = " << fixed << setprecision(2) << x <<endl;
    cout << "y = " << fixed << setprecision(2) << y <<endl;
    cout << "r = " << fixed << setprecision(5) << r <<endl;
    cout << "t = " << fixed << setprecision(5) << t <<endl;
    system("pause");
    return 0;

}

Последний раз редактировалось Stilet; 21.12.2013 в 20:01.
dkii вне форума Ответить с цитированием
Старый 21.12.2013, 20:14   #2
vvmcpp
Форумчанин
 
Аватар для vvmcpp
 
Регистрация: 11.12.2010
Сообщений: 116
По умолчанию

1. Это не PHP, а с++
2. Из задания не совсем ясно , можно ли использовать шаблоны STL? В смысле разрешено ли вам их по техзаданию использовать?
3. Какие именно функции нужно сделать пользовательскими(дело в том что сделать пользовательскими можно все что угодно и переделать код до неузнаваемости)
3. Навскидку быстро написал подсказку (у меня компилятор mingw и среда dev-c++):
Код:
#include <cstdlib>
#include <iostream>
#include <cmath> 
/*
результат работы программы
Введите q:
2.32
Введите x, y:
4.45
3.12
q = 2.32
x = 4.45
y = 3.12
r = 8.50423
t = 5.4965
Для продолжения нажмите любую клавишу . . .
*/
using namespace std;

double rfunction(double temp_q )
       {
                        temp_q=temp_q + log(temp_q) + 2.549*log(temp_q + temp_q*temp_q + 1/temp_q);
                        return temp_q;
       }
       
double tfunction(double x, double y)
{     double temp_t;
      temp_t= 2.549*log(pow((x - y), 3) + pow((x - y), 6) + 1/(x - y));
      return temp_t;
       }
 
int main(int argc, char *argv[])
{
     //setlocale(LC_ALL,"Russian"); 
    double x, y, q; 
    double r, t; 
  
    while(1) 
    { 
        cout << "Введите q: " << endl; 
        cin >> q; 
        if (q == 0) 
            cout << "Ошибка! Введите q заново!" << endl; 
        else  
            break; 
    } 
     
    while(1) 
    { 
        cout << "Введите x, y: " << endl; 
        cin >> x >> y; 
         if (x == y) 
            cout << "Ошибка! Введите x и y заново!" << endl; 
        else  
            break; 
    } 
  // rfunction
   // r = q + log(q) + 2.549*log(q + q*q + 1/q);
     r = rfunction(q);
  // tfunction 
   // t = 2.549*log(pow((x - y), 3) + pow((x - y), 6) + 1/(x - y)); 
  t=tfunction(x,y);
  
  cout << "q = "<< q <<endl; 
  cout << "x = "  << x <<endl; 
  cout << "y = " << y <<endl; 
  cout << "r = "  << r <<endl; 
  cout << "t = "  << t <<endl; 
   // system("cls"); 
   // cout << "q = " << fixed << setprecision(2) << q <<endl; 
   // cout << "x = " << fixed << setprecision(2) << x <<endl; 
  // cout << "y = " << fixed << setprecision(2) << y <<endl; 
   // cout << "r = " << fixed << setprecision(5) << r <<endl; 
   // cout << "t = " << fixed << setprecision(5) << t <<endl; 
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

Последний раз редактировалось vvmcpp; 21.12.2013 в 20:19.
vvmcpp вне форума Ответить с цитированием
Старый 21.12.2013, 21:25   #3
dkii
Пользователь
 
Регистрация: 11.12.2013
Сообщений: 54
По умолчанию

я студент первого курса и если чесно, то понятия не имею что такое шаблоны STL (видимо еще не проходили), спасибо огромнейшее за код, очень помогли, единственно что желательно было замену ввести (2,549*ln(z+z^2+1/z))
dkii вне форума Ответить с цитированием
Старый 21.12.2013, 21:27   #4
dkii
Пользователь
 
Регистрация: 11.12.2013
Сообщений: 54
По умолчанию

в конце 1/((x-y)^3 )
dkii вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка расческой,перепишите с С++ на VBA DeadGod Помощь студентам 0 04.12.2012 17:03
перепишите на язык си Tolian92 Помощь студентам 1 22.01.2012 13:34
перепишите на язык си Tolian92 Помощь студентам 1 21.01.2012 16:34