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

Вывести табличные функции - C++

Восстановить пароль Регистрация
 
krexx
-8 / 0 / 0
Регистрация: 23.01.2011
Сообщений: 52
16.12.2011, 23:15     Вывести табличные функции #1
Всем доброй ночи. Выручайте, задали по программированию задачу. Очень плохо понимаю предмет, но сдать надо, так как сессия на носу!
---------------------------------------------------------------------------------------------
Условие:
Вывести табличные функции
f(x,y)= (x cos x + y cos y)/x-y

При x=0 (п/8) п; y=0 (п/16) п

Сделать две разных программы. C операторами:
1.задействовать оператор for
2.задействовать операторы while и do while
----------------------------------------------------------------------------------------------

x=0 - начальное значение
п/8 - шаг
х=п - конечное значение

y=0 - начальное значение
п/16 - шаг
y=п - конечное значение

п - число (пи) = 3,14
----------------------------------------------------------------------------------------------
Имеется набросок 1 программы с оператором for, здесь нужно дописать проверку знаменателя на 0.
Второй программы вообще нету.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <math.h>
#define pi 3.14
 
using namespace std;
 
int main() {
    float func=0;
    for(int i=0; i<16; i++)
    for(int j=0; j<8; j++)
    {
            float x=j*(pi/8);
            float y=i*(pi/16);
            func=(x*cos(x) + y*cos(y))/(x-y);
            cout<<"x: "<<x<<"\ty: "<<y<<"\tf(x,y): "<<func<<"\n";
     }
     system("pause");
     return 0;
     }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
krexx
-8 / 0 / 0
Регистрация: 23.01.2011
Сообщений: 52
18.12.2011, 02:10  [ТС]     Вывести табличные функции #2
Как я понимаю помощи ждать бесполезно?
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
18.12.2011, 03:15     Вывести табличные функции #3
Лучше использовать форматированный вывод
1-я:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <math.h>
#include <conio.h>
const float pi=3.14;
float f(float x, float y)
{
    return (x*cos(x)+y*cos(y))/(x-y);
}
int main()
{
    for (float x=0;x<=pi;x+=pi/8.)
           {
     for (float y=0;y<=pi;y+=pi/16.)
         if(x!=y) printf ("x=%.4f y=%.4f f(x,y)=%.4f\n",x,y,f(x,y));
            printf ("Press any key for next X:\n");
     getch();
           }
   return 0;
}
2-я с while, для do-while, надеюсь, знаете как переделать
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
#include <stdio.h>
#include <conio.h>
#include <math.h>
const float pi=3.14;
float f(float x, float y)
{
    return (x*cos(x)+y*cos(y))/(x-y);
}
int main ()
{
    float x=0.0,y;
    while(x<=pi)
   {
    x+=pi/8.;
      y=0.0;
        while(y<=pi)
        {
            y+=pi/16.;
            if(x!=y) printf ("x=%.4f y=%.4f f(x,y)=%.4f\n",x,y,f(x,y));
         }
      printf ("Press any key for next X:\n");
    getch();
   }
   return 0;
}
и ещё, проверка вещественных чисел на равенство, с учётом того как они хранятся в памяти, не всегда является верной, это про условие
(x!=y)
krexx
-8 / 0 / 0
Регистрация: 23.01.2011
Сообщений: 52
18.12.2011, 17:19  [ТС]     Вывести табличные функции #4
Нет, у меня с этим проблемы.
Если не тяжело, очень хотелось бы увидеть с do while!
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
19.12.2011, 15:46     Вывести табличные функции #5
так же как и с while, только на место while() поставить do, и после тела цикла while();

while и do-while фактически отличаются тем, что do-while выполняется как минимум 1 раз
krexx
-8 / 0 / 0
Регистрация: 23.01.2011
Сообщений: 52
19.12.2011, 23:58  [ТС]     Вывести табличные функции #6
Ок.
Спасибо большое!
Yandex
Объявления
19.12.2011, 23:58     Вывести табличные функции
Ответ Создать тему
Опции темы

Текущее время: 03:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru