Вопрос: Правильно ли изображена блок схема (код прилагается)

Тема в разделе "C/C++/C#", создана пользователем Sheriff92, 5 дек 2010.

Статус темы:
Закрыта.
  1. Sheriff92

    Sheriff92 Гость

    #include"stdafx.h"
    #include<conio.h>
    #include<math.h>

    int _tmain()
    {
    int tch, z0;
    double n=0, f=1, S=0, eps, z, k, m, R, A=0.0647324, B=0.4382591;
    printf("\n Viberite tochnost eps:1=10^-3; 2=10^-6; 3=10^-8\n");
    scanf("%i", &tch);
    switch (tch)
    {
    case 1: eps=0.001; break;
    case 2: eps=0.000001; break;
    case 3: eps=0.00000001; break;
    default: puts("Vvedite chislo v diapasone 1..3");
    }
    printf("\n Viberite z: 1=0.5; 2=1\n");
    scanf("%i", &z0);
    switch (z0)
    {
    case 1: z=0.5; break;
    case 2: z=1; break;
    default: puts("Vvedite 1 ili 2");
    }
    k=1;
    while(fabs(k)>=eps)
    {
    S=S+k;
    n=n+1;
    f=(2*n+1)*n;
    m=pow(-1,n)*pow(3.14/2,2*n+1)*pow(z,4*n+3);
    k=m/(f*(4*n+3));
    }
    printf("\n Summa ryada=%lf", S);
    if(z==0.5)
    R=A-S;
    else
    if(z==1)
    R=B-S;
    if(fabs&reg;<0.1)
    printf("\n Poluchennoe znachenie sovpadaet s kontrolnim");
    else
    printf("\n Poluchennoe znachenie ne sovpadaet s kontrolnim");
    _getch();
    }
     

    Вложения:

    • __________.jpg
      __________.jpg
      Размер файла:
      208,2 КБ
      Просмотров:
      45
  2. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Вот код, по твоей блок схеме (для того что бы ничего не мешало твой код я не смотрел)... Сличи их и если они совпадут - то все ОК
    Код (C++):
    using namespace std;
    void main(void)
    {
    double esp, z;
    cin>>esp;
    cin>>z;
    double k,r;
    double A = 0.0647324;
    double B = 0.4382591;
    double n = 0.0, f = 1.0, S = 0.0;
    k = 1.0;
    while ( abs(k) >= esp)
    {
    S += k;
    n += 1;
    k = ((pow(-1.0,n) * pow(M_PI/2,2*n+1))/ (((fact(2*n+1) * (4*n+3))) *pow(z,4*n+3));
    }
    cin >> S;
    if (z == 0.5)
    r = A - S;
    else
    {
    if (z == 1)
    {
    r = B - S;
    }
    }
    if (abs(r) < 0.1)
    cout<<"Значение совпадает с контрольным";
    else
    cout<<"Значение НЕ совпадает с контрольным";
    }
    }
     
  3. Sheriff92

    Sheriff92 Гость

    у меня почему то 'fact' не понимает:discard:
     
  4. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    И правельно: Такой функции нет, я предположил, что это название твоей функции фасториала...
    типо
    Код (C++):
    fact (int n)
    {
    int Res = 1;  
    for (int i = n; n>0; i--)
    {
    Res *= n;
    }
    return Res;

    }
     
  5. Sheriff92

    Sheriff92 Гость

    аааа, спасибо, точно!
     
  6. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Вы точно разобрались, или все же что то не понятно????
    Вы говорите если что, не стесняйтесь, я помогу, если нужно все по-полочкам разложу....
    Просто пока что вижу, что вы не понимаете суть алгоритмического программирования и элементов синтаксиса именно языка C/С++... Это все поправимо, главное что бы вы задавали вопросы о непонятных конструкциях или прочих элементов...
     
  7. Sheriff92

    Sheriff92 Гость

    да да, спасибо! не, я чё....я если чё что-как не пойму я спрошу обязательно:)
     
  8. Sheriff92

    Sheriff92 Гость

    #include"stdafx.h"
    #include<conio.h>
    #include<math.h>

    fact (int n)
    {
    int f=1;
    for(int i=n;n>0;i--)
    {
    f=f*n;
    }
    return f;
    }

    int _tmain()
    {
    int tch, z0;
    double n=0, f=1, S=0, eps, z, k, R, A=0.0647324, B=0.4382591;
    printf("\n Viberite tochnost eps:1=10^-3; 2=10^-6; 3=10^-8\n");
    scanf("%i", &tch);
    switch (tch)
    {
    case 1: eps=0.001; break;
    case 2: eps=0.000001; break;
    case 3: eps=0.00000001; break;
    default: puts("Vvedite chislo v diapasone 1..3");
    }
    printf("\n Viberite z: 1=0.5; 2=1\n");
    scanf("%i", &z0);
    switch (z0)
    {
    case 1: z=0.5; break;
    case 2: z=1; break;
    default: puts("Vvedite 1 ili 2");
    }
    k=1;
    while(fabs(k)>=eps)
    {
    S=S+k;
    n=n+1;
    k=((pow(-1,n)*pow(3.14/2,2*n+1))/(fact(2*n+1)*(4*n+3)))*pow(z,4*n+3);
    }
    printf("\n Summa ryada=%lf", S);
    if(z==0.5)
    R=A-S;
    else
    if(z==1)
    R=B-S;
    if(fabs®<0.1)
    printf("\n Poluchennoe znachenie sovpadaet s kontrolnim");
    else
    printf("\n Poluchennoe znachenie ne sovpadaet s kontrolnim");
    _getch();
    }

    выдал ошибку:
    fact (int n)
    вот здесь ----> {
    int f=1;
    for(int i=n;n>0;i--)
    {
    f=f*n;
    }
    return f;
    }

    error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
     
  9. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    поставь перед определением функции 'fact', тип 'int', т.е. чтобы она выглядела как:
    Код (C++):
    int fact( int n )
     
  10. Sheriff92

    Sheriff92 Гость

    подставил, а теперь такую ошибку выдал:

    Project : error PRJ0003 : Error spawning 'rc.exe'.
     
  11. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Error spawning 'rc.exe'.
    Не может запустить rc.exe
    Проверяй пути и т.п.
     
Загрузка...
Похожие Темы - Вопрос Правильно ли
  1. Генералл
    Ответов:
    2
    Просмотров:
    58
  2. ApplePen
    Ответов:
    0
    Просмотров:
    60
  3. gURaBA_N
    Ответов:
    3
    Просмотров:
    92
  4. ghost
    Ответов:
    1
    Просмотров:
    87
  5. kartaman
    Ответов:
    0
    Просмотров:
    127
Статус темы:
Закрыта.

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