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

Вычислить значение выражения - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.72
Вилен
172 / 0 / 0
Регистрация: 09.10.2007
Сообщений: 5
10.10.2007, 00:04     Вычислить значение выражения #1
Я знаю, что я ламер позорный, но надо это как то решить, что бы не вылететь из университета.
P.S.:Надо сделать на С
Миниатюры
Вычислить значение выражения  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2007, 00:04     Вычислить значение выражения
Посмотрите здесь:

C++ Вычислить значение выражения
Вычислить значение выражения C++
Вычислить значение выражения C++
Вычислить значение выражения C++
C++ Вычислить значение выражения
Вычислить значение выражения C++
C++ Вычислить значение выражения
C++ Вычислить значение выражения
Вычислить значение выражения C++
Вычислить значение выражения C++
Вычислить значение выражения C++
Вычислить значение выражения C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Herbert
0 / 0 / 2
Регистрация: 27.08.2007
Сообщений: 26
10.10.2007, 06:33     Вычислить значение выражения #2
Вечером посмотрю, если кто-нибудь раньше не решит. Здачи простые совсем.
Herbert
0 / 0 / 2
Регистрация: 27.08.2007
Сообщений: 26
11.10.2007, 07:05     Вычислить значение выражения #3
Первая
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
48
49
50
51
52
# include <stdio.h>
# include <math.h>
 
int factorial(int x);
 
 
double function_cos(double x, double mistake);
 
main()
 
{
    double Taylor_s__series__term=0;
    double Taylor_s__series__sum=0;
 
    double x, x1=0, x2=3.1415, dx=0.1, mistake=0.01;
 
    x=x1;
    do 
    {
        printf (" %g     %g\n", x, function_cos(x, mistake) );
        x+=dx;
    } while (x<x2);
        
}
 
 
int factorial(int x)
{
if (x==0) return 0;
if (x==1) return 1;
return (x*factorial(x-1));
}
 
 
double function_cos(double x, double mistake)
{
 
    double Taylor_s__series__term=0;
    double Taylor_s__series__sum=0;
    int n=0;
 
    Taylor_s__series__sum=1;
    do 
    {
        n++;
        Taylor_s__series__term=pow(-1,n)*( pow( x,(2*n) ) )/(factorial(2*n));
        Taylor_s__series__sum+=Taylor_s__series__term;
    }
    while (  (fabs(Taylor_s__series__term))  >=  mistake );
 
    return Taylor_s__series__sum;
}
Herbert
0 / 0 / 2
Регистрация: 27.08.2007
Сообщений: 26
11.10.2007, 19:30     Вычислить значение выражения #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
48
49
50
51
52
53
# include <stdio.h>
# include <math.h>
 
int factorial(int x);
 
 
double function_cos(double x, double mistake);
 
main()
 
{
    double Taylor_s__series__term=0;
    double Taylor_s__series__sum=0;
 
    double x, x1=0, x2=3.1415, dx=0.1, mistake=0.01;
 
    x=x1;
    do 
    {
        printf (" %g     %g\n", x, function_cos(x, mistake) );
        x+=dx;
    } while (x<x2);
 
getchar();      
}
 
 
int factorial(int x)
{
if (x==0) return 0;
if (x==1) return 1;
return (x*factorial(x-1));
}
 
 
double function_cos(double x, double mistake)
{
 
    double Taylor_s__series__term=0;
    double Taylor_s__series__sum=0;
    int n=0;
 
    Taylor_s__series__sum=1;
    do
    {
        n++;
        Taylor_s__series__term=( pow( x,(2*n) ) )/(factorial(2*n));
        Taylor_s__series__sum+=Taylor_s__series__term;
    }
    while (  (fabs(Taylor_s__series__term))  >=  mistake );
 
    return Taylor_s__series__sum;
}
Вилен
172 / 0 / 0
Регистрация: 09.10.2007
Сообщений: 5
11.10.2007, 22:47  [ТС]     Вычислить значение выражения #5
Спасибо за коды. Хотя надо еще во всем это разбираться. Например что такое "pow"? К тому же она ": error C2668: 'pow' : ambiguous call to overloaded function". Надеюсь прокатит, хотя для первого курса конечно круто.
Я пытался что-то сделать сам, но проги эти у мен работают неправильно. Почему? Объясните, плиииз.
Вот задача №1:
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
#include <math.h>
#include <stdio.h>
double f(double x, double eps)
{
    double f=1.0;
    double y=f;
    {
        for(int n=0; fabs(f) > eps; n++)
            f=f*x*x/((2*n+1)*(2*n+2));      y+=f;
    }
    
    return y;
}
 
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    double xn, xk, eps,dx;
    scanf("%lf %lf %lf %lf",&xn,&xk,&eps,&dx);
    for (double x=xn;x<xk; x+=dx)
        printf("%lf %lf\n", x,f(x,eps));
 
    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
int f1 (int a)
{for (int i=2; i*i<=a;i++)
        if (a%i==0) return 0;
    else return 1;
}
 
int f3(int x)
{for(x;f1(x)==0;x--)
    if (x<=0) break;
return x;
}
 
int f2 (int x)
{for (x; f1(x)==0;x++);
return x;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
int n;
scanf ("%d", &n);
if (f2(n)-n>n-f3(n)) printf("Blizh prostoe 4islo =%d", f2(n));
else printf ("Blizh prostoe 4islo = %d ", f3(n));
return 0;
}
Herbert
0 / 0 / 2
Регистрация: 27.08.2007
Сообщений: 26
14.10.2007, 01:11     Вычислить значение выражения #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
pow - функция для возведения в степень

ошибки в твоем коде исправить неслолжно:
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
#include <math.h>
#include <stdio.h>
 
double f(double x, double eps)
{
    double f=1.0;
    double y=f;
    int n=0;
 
 
        for(n=0; fabs(f) > eps; n++);
        f=f*x*x/((2*n+1)*(2*n+2));
        y+=f;
        return y;
}
 
 
int main(void)
 
{
    double xn, xk, eps,dx;
    double x;
    scanf("%lf %lf %lf %lf",&xn,&xk,&eps,&dx);
    for (x=xn;x<xk; x+=dx);
    printf("%lf %lf\n", x,f(x,eps));
    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
# include <stdio.h>
 
int f1 (int a)
{
    int i;
    for (i=2; i*i<=a;i++);
    if (a%i==0) return 0;
    else return 1;
}
 
int f3(int x)
{for(x;f1(x)==0;x--)
    if (x<=0) break;
return x;
}
 
int f2 (int x)
{for (x; f1(x)==0;x++);
return x;
}
 
int main(void)
{
int n;
scanf ("%d", &n);
if (f2(n)-n>n-f3(n)) printf("Blizh prostoe 4islo =%d", f2(n));
else printf ("Blizh prostoe 4islo = %d ", f3(n));
return 0;
}
В смысл глубоко не вникал. Просто ошибки синтаксиса исправил и все
Yandex
Объявления
14.10.2007, 01:11     Вычислить значение выражения
Ответ Создать тему
Опции темы

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