Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

30.01.2012, 11:52. Просмотров 477. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2012, 11:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос проверьте задачу (C++):

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

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

Проверьте задачу мою пожалуйста - 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 &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; ...

Проверьте - 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++
Структурная схема алгоритма (метод вставки) http://i032.***********/0912/0c/f5e0e7e1959c.jpg Программа ...

4
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,138
30.01.2012, 12:04 #2
Ошибочка вышла:
http://liveworkspace.org/code/5233625b5c475a9de8ffef5670e9f6a6

http://liveworkspace.org/code/83bb58eb88b971af1ad624bd9c4fa0aa

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

http://liveworkspace.org/code/83bb58eb88b971af1ad624bd9c4fa0aa

ЗЫ Проверить все оч просто: не будет компиляционных ошибок, можно сначала прогнать 1 прогу по определенным значениям, а потом 2 по этим же значениям. Если ответ 1 проги = ответу 2 - все ок
не понимаю в чем суть ошибок в этих двух ссылках которые вы отправили
0
dimcoder
Полярный
466 / 439 / 68
Регистрация: 11.09.2011
Сообщений: 1,138
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);
?!?
0
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
0
30.01.2012, 12:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2012, 12:46
Привет! Вот еще темы с ответами:

Проверьте программу - C++
Напишите программу, запрашивающую у пользователя N вещественных чисел и выводящую на экран их среднее арифметическое. int main() { int...

Проверьте правильность - C++
Создайте условный оператор (if), который присваивал бы x значение x/y, если y не равно 0. #include &lt;iostream&gt; using namespace std; ...

проверьте условие - C++
Всем приветик. Проверьте пожалуйста мое условие. Вроде написано правильно но считает не правильно. #include &lt;iostream.h&gt; #include...

Проверьте программу: - C++
Функция MakeCat создает новый объект класса CAT в динам. памяти и возвращвет указатель. Затем в функции main эта память очищается. Все...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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