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

Протабулировать функцию - C++

Восстановить пароль Регистрация
 
SlimFIT
 Аватар для SlimFIT
2 / 2 / 0
Регистрация: 30.03.2009
Сообщений: 61
14.10.2009, 21:09     Протабулировать функцию #1
Всем привет. Народ помогите пожалуйста. Необходимо вывести таблицу функции
f(x,y)= ( (x+y+1) / sin(x)*sin(y) ) * lg ( (x+y) /2 )
при х = от -1 до 1 с шагом 0.25 и у = от 0 до 2 с шагом 0.2.
Там где происходит деление на нуль необходимо вывести символ *.
Использую Turbo C++ (в учебе). Код написал но программа не работает. Посоветуйте как лучше исправить, что изменить? Заранее спасибо.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream.h>
#include<conio.h>
#include<math.h>
double func(float,float);
void main()
{ clrscr();
float x,y; double f;
cout<<"Функция f(x,y) ";
for(x=-1; x<=1; x+=0.25)
 { for(y=0;y<=2;y+=0.2)
  { f=func(x,y);
    cout<<x<<"   "<<y<<"   "<<f<<endl;}    }
getch();  }
 
double func(float x,float y)
{double a,b,c;
a= (x+y+1) / (sin ( x ) * sin ( y ) );
b=(x+y) / 2;
c= log10(b);
return (double) a*c; }
P.S. По какому алгоритму можно вывести полученную таблицу, чтобы она была вида:
x \ y 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 ...
-1
-0.75
-0.5
-0.25
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2009, 21:09     Протабулировать функцию
Посмотрите здесь:

протабулировать функцию C++
протабулировать функцию C++
Протабулировать функцию C++
Протабулировать функцию C++
Протабулировать функцию C++
Протабулировать функцию C++
C++ Протабулировать функцию
C++ Протабулировать функцию
C++ Протабулировать функцию Y = F (x)
C++ Протабулировать функцию
Протабулировать функцию C++
C++ Протабулировать функцию

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт C++
 Аватар для odip
7226 / 3288 / 59
Регистрация: 17.06.2009
Сообщений: 14,165
14.10.2009, 22:36     Протабулировать функцию #2
Там где происходит деление на нуль необходимо вывести символ *
C
1
2
3
4
5
6
7
8
9
10
11
12
13
int func( double x, double y, double *res ) {
 
double a,b,c;
 
a= x+y+1.0;
b= sin( x ) * sin( y );
if ( b == 0.0 ) { return 1; }
c= log10( (x+y) / 2.0 );
 
*r= a/b*c;
return 0;
 
}
C
1
2
3
4
for ( x= 0; x<=100; x+= 0.1 ) {
    y= x+1;
    printf( "%.10f %.10f\n", x, y );
}
Yandex
Объявления
14.10.2009, 22:36     Протабулировать функцию
Ответ Создать тему
Опции темы

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