Перегрузки Функций Плиззззззз

Тема в разделе "C/C++/C#", создана пользователем krank, 21 янв 2013.

  1. krank

    krank New Member

    Регистрация:
    3 янв 2013
    Сообщения:
    3
    Симпатии:
    0
    Пожалуйста помогите!!!!!!!!!!!!!!!!!! Я здесь пытался что-то сделать но увы((((( черновая работа, если нечего неправильно сделайте плиизззз. правильно.
    1. Алгоритм решения задачи сводится к трем циклам, причем два из них вложены в третий. Внешний цикл организует изменение параметра х. Внутренние циклы суммируют слагаемые при фиксированном параметре x (первый цикл  арифметический для заданного n, второй  итерационный для заданной точности ). При организации этих циклов следует обратить внимание на правильный выбор способа вычисления очередного слагаемого zn (в зависимости от его вида) и правильное присвоение начальных значений переменным цикла.
    2. Написать программу для решения задачи с использованием функций. В основной программе внутри цикла по переменной x вызываются поочередно функции для вычисления Sn (зависит от параметров x и N), Se (зависит от параметров x и e), и S (зависит от параметра x), а затем на экран выводятся полученные значения.
    3. Написать программу для решения задачи с использованием механизма перегрузки функций (все три функции имеют одинаковое имя, но различаются по типу и количеству параметров, о перегрузке можно прочитать в любом из учебников).

    Код (C++):
    #include <iostream>
    #include <iomanip>
    #include <cmath>
    #include <fstream>


    using namespace std;
    int main()
    {
    cout <<setlocale(0, "Russian");
    cout<<"5555555"<<endl;
    cout<<endl;

    double a, b, eps, x, h,Z;
    int N; //число слагаемых
    do
    {
    cout<<"Введите начальное значение уравнения A: ";
    cin>>a;
    cout<<"Введите конечное значение уравнения B: ";
    cin>>b;
    }while(a>=b);

    h=(b-a)/10; //вычисление шага
    cout<<"Eps от 0.0001 до 0.1"<<endl;

    do
    {
    cout<<"Введите eps: ";
    cin>>eps;
    }while(eps>0.10000 || eps<0.00010000); //0.0001 < eps < 0.1

    do
    {
    cout<<"Введите кол-во слагаемых N: ";
    cin>>N;
    }while(N<1);

    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"x";
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"Sn";
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"Se";
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<"S"<<endl;

    for (x=a; x<=b; x+=h)
    double change (int N, double x);
    {
    double Sn=1;
    double a=1;
    double h=1;
    double log3=log3;
    for (int i=1; i<=N; i++)
    {
    a=a*(log3*x)/h;
    Sn=Sn+a;
    h=h+1;
    return Sn;
    }

    double change (double x, double eps);
    {
    double Se=1;
    double a=1;
    double h=1;
    double log3=log3;
    int value=N;
    void print (char Symbol=' ', int value=10);
    for (int i=1; i<=value; i++);
    int i=1;
    do

    {
    a=a*(log3*x)/h;
    Se=Se+a;
    h=h+1;
    i++;
    }while (eps<fabs(a)>eps);
    Se*=2;
    double change (double x);
    double S= 3*x;
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<x;
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<< change (N,x);
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<< change (x,eps);
    cout<<setw(10)<<setprecision(6)<<setiosflags(ios::fixed)<<S<<endl;
    }
    system("pause");
    return 0;
    }
     

    Вложения:

    • 55.JPG
      55.JPG
      Размер файла:
      7,8 КБ
      Просмотров:
      15
  2. rrrFer

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

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    может быть вы сами определите правильно вы решили или неправильно, и, только если неправильно - таки напишите конкретные вопросы?
     
Загрузка...

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