Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
crewww
30 / 1 / 1
Регистрация: 28.10.2010
Сообщений: 102
#1

проверьте задачу - C++

30.01.2012, 11:52. Просмотров 452. Ответов 4
Метки нет (Все метки)

проверьте пожалуйста мое решение
вот условие:
Три фрагмента нижеприведенной программы, выделенные жирным курсивом, представляют собой решение одной и той же подзадачи для различных исходных данных – параметров этой подзадачи. Для подходящей подзадачи опишите процедуру (функцию) с параметрами и без глобальных переменных. Перепишите нижеприведенную программу в более компактной форме, используя операторы (этой) процедуры (вызовы функции) для реализации выделенных фрагментов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
int main()
{
    int i,j; double u,v,w,z,x,y,p,q,r,s,a[100],b[100],c[200],f[200];
    //ввод (p,q,r,a,b,c)
    for (j=0;j<200; j+=2)
    {
        s=r;
        // фрагмент выделен жирным курсивом (начало 1 фрагмента)
        x=p;y=cos(c[j]);
        u=x+y;
        for (i=0;i<100;i++)
        {
            z=(x-cos(c[j])); w=(sin(s)-y);
            u=u+(a[i]*q-z/a[i])*(p-b[i]*w);
            x=(y-x)*(p-u); y=(y-c[j+1])*cos(c[j]);
        }
        //конец 1 фрагмента выделенного жирным курсивом
        if (sin(u)>cos(u))
        {
            //начало 2 фрагмента выделенного жирным курсивом
            y=q; z=sin(c[j+1]); f[j]=y+z;
            for (i=0;i<100;i++)
            {
                x=(y-sin(c[j+1])); b=(log(s)-z);
                f[j]=f[j]+(b[i]*p-x/a[i])*(p-a[i]*v); y=(z-y)*(q-f[j]);
                z=(z-c[j])*sin(c[j+1]);
            }
            //конец 2 фрагмента  выделенного жирным курсивом
            s=cos(s-u);
            //начало 3 фрагмента выделенного жирным курсивом
            z=p;x=log(c[j]);f[j+1]=z+x;
            for (i=0;i<100;i++)
            {
                y=(z-log(c[j])); w=(cos(s)-x);
                f[j+1]=f[j+1]+(a[i]*p-y/b[i])*(q-a[i]*w); z=(x-z)*(p-f[j+1]);
                x=(x-c[j]*c[j+1])*log(c[j]);
            }
            //конец 3 фрагмента  выделенного жирным курсивом
        }
        else
        {
            f[j]=sin(u-c[j]); f[j+1]=sin(u*c[j+1]);
        }
    }
    //вывод (f)
    return 0;
}
мое решение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
void pro(double a1, double a2,double a3[100],double a4,double a5[100], double a6,double a7[100], double a8,double a9,double  &res)
{int i; double x,y,z,w; 
x=a8; 
y=a1; 
res=x+y;
for (i=0; i<100;i++)
    {
    z=x-a1; 
    w=a2-y;
    res=res+(a3[i]*a4-z/a5[i])*(a6-a7[i]*w);
    x=(y-x)*(a8-res);
    y=(y-a9)*a1;
    }
}
 
int main() 
{
    int i,j; double u,v,w,z,x,y,p,q,r,s,a[100],b[100],c[200],f[200];
//ввод (p,q,r,a,b,c)
for (j=0;j<200; j+=2) 
  {
    s=r;
    pro(cos(c[j]),sin(s),a,q,a,p,b,p,c[j+1],u);
if (sin(u)>cos(u)) 
        {
        pro(sin(c[j+1]),log(s),b,p,a,p,a,q,c[j],f[j]);
        s=cos(s-u);
        pro(log(c[j]),cos(s),a,p,b,q,a,p,c[j]*c[j+1],f[j+1]);
        }
else    {
    f[j]=sin(u-c[j]); f[j+1]=sin(u*c[j+1]); 
    }
  }
//вывод (f)
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2012, 11:52     проверьте задачу
Посмотрите здесь:

проверьте пожалуста задачу - C++
даны натуральные n и целые x1....xn. внутри данной последовательности могут быть повторяющиеся члены. выяснить сколько членов входит в...

Проверьте задачу мою пожалуйста - C++
#include&lt;stdio.h&gt; #include&lt;conio.h&gt; void main() { int a,b,c,d; for (int i=100; i&lt;200; i++) { a = i /...

Проверьте задачу правильно решена ли - C++
Вопрос Определить минимальный и максимальный элементы, вычислить их разность. Задача моя #include &lt;stdafx.h&gt; #include...

Проверьте - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; using namespace std; const int MAX=3; class StrNew { char*...

Проверьте - C++
Помогите чайнику. Гляньте пожалуйста, правильно сделал #include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; ...

проверьте решение - C++
прошу помощи: на зачет бежать скоро, написал в блокноте код (за неимением компилятора). проверьте пожалуйста, кому не сложно. условие...

Проверьте симметричность - C++
Проверить матрицу на симметричность.Да я знаю такие задачи уже были.Но я хочу именно свой код.Не пойму что не так!Почему не...

проверьте на правильность - C++
Вычислить значения функции у=4х3-2х2+5 для значений х, изменяющихся от -3 до 1, с шагом 0.1. #include &lt;stdio.h&gt; #include &lt;iostream&gt; ...

Проверьте прогу - C++
Нужно проверить рабочая ли прога , а то нет возможности #include &lt;iostream.h&gt; #include &lt;math.h&gt; int main() { int n = 0;...

Проверьте код - C++
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; int main() { int a,b,res; char zn; scanf (&quot;%u %u&quot;,&amp;a,&amp;b);...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimcoder
Полярный
455 / 428 / 67
Регистрация: 11.09.2011
Сообщений: 1,129
30.01.2012, 12:04     проверьте задачу #2
Ошибочка вышла:
http://liveworkspace.org/code/523362...ffef5670e9f6a6

http://liveworkspace.org/code/83bb58...d624bd9c4fa0aa

ЗЫ Проверить все оч просто: не будет компиляционных ошибок, можно сначала прогнать 1 прогу по определенным значениям, а потом 2 по этим же значениям. Если ответ 1 проги = ответу 2 - все ок
crewww
30 / 1 / 1
Регистрация: 28.10.2010
Сообщений: 102
30.01.2012, 12:34  [ТС]     проверьте задачу #3
Цитата Сообщение от dimcoder Посмотреть сообщение
Ошибочка вышла:
http://liveworkspace.org/code/523362...ffef5670e9f6a6

http://liveworkspace.org/code/83bb58...d624bd9c4fa0aa

ЗЫ Проверить все оч просто: не будет компиляционных ошибок, можно сначала прогнать 1 прогу по определенным значениям, а потом 2 по этим же значениям. Если ответ 1 проги = ответу 2 - все ок
не понимаю в чем суть ошибок в этих двух ссылках которые вы отправили
dimcoder
Полярный
455 / 428 / 67
Регистрация: 11.09.2011
Сообщений: 1,129
30.01.2012, 12:39     проверьте задачу #4
Цитата Сообщение от crewww Посмотреть сообщение
не понимаю в чем суть ошибок в этих двух ссылках которые вы отправили
incompatible types in assignment of 'double' to 'double [100]'
24 строка 1 задачи в вашем посте.
C++
1
2
3
int b[100];
//...
b=(log(s)-z);
?!?
crewww
30 / 1 / 1
Регистрация: 28.10.2010
Сообщений: 102
30.01.2012, 12:46  [ТС]     проверьте задачу #5
Цитата Сообщение от dimcoder Посмотреть сообщение
incompatible types in assignment of 'double' to 'double [100]'
24 строка 1 задачи в вашем посте.
C++
1
2
3
int b[100];
//...
b=(log(s)-z);
?!?
там v должно быть это моя невнимательность уже
вроде все компилируется но выводится вот такая странная вещь
-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan-nan
Yandex
Объявления
30.01.2012, 12:46     проверьте задачу
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru