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

Реализация acos - C++

Восстановить пароль Регистрация
 
RavilSHai
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 82
10.07.2013, 02:58     Реализация acos #1
И ребят помогите разобраться в чем ошибки здесь, делаю лабораторную по методу секущих
И еще как можно графически выполнить метод секущих через Dos Box?
Заранее благодарю за помощь
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
#include <iostream>
#include <math.h>
#include <locale>
#include <stdio.h>
#include <conio.h>
  
double f(double x)
{
    return acos((2*x/(1+x*x))-exp(-x*x));
}
void main() {
    setlocale(LC_ALL, "Russian");
    double x1,x2,xN,y,E=0.01;
    int n=0;
//  printf ("Введите E:=");
//  scanf ("%f", &E);
    printf ("Введите значение x1:\n");
    scanf ("%lf", &x1);
    printf ("Введите значение x2:\n");
    scanf ("%lf", &x2);
    printf("Метод секущих:\n");
    do
    {
      n++;
//      y=xN;
      xN=x2-((x2-x1)/(f(x2)-f(x1)))*f(x2);
      x1=x2;
      x2=xN;
      y=xN;
    }
    while(fabs(y-xN)<E);
    printf ("Otvet:%lf\nnayden na %d iteracii",xN,n);
    getchar();
    getchar();
    getchar();
    getchar();
    getchar();
    getchar();
    getchar();
    getchar();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2013, 02:58     Реализация acos
Посмотрите здесь:

C++ реализация cat в с++
C++ Реализация стека
Реализация алгоритма C++
C++ Реализация
разложение функции в степенной ряд (acos) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RavilSHai
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 82
10.07.2013, 05:49  [ТС]     Реализация acos #2
Ребята подскажите как составить условие чтобы функция арккосинус выполнялась правильно?
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
10.07.2013, 05:50     Реализация acos #3
Ну в консоле графически тяжело будет что-то оформить. Но скорей всего лучше оформить что либо, через двумерные массив символом.
C++
1
char s[30][30];
RavilSHai
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 82
10.07.2013, 05:52  [ТС]     Реализация acos #4
Цитата Сообщение от Bend3r Посмотреть сообщение
Ну в консоле графически тяжело будет что-то оформить. Но скорей всего лучше оформить что либо, через двумерные массив символом.
C++
1
char s[30][30];
Как то пытался сделать вот так)
C++
1
2
3
4
5
6
7
8
9
10
11
12
double f(double x, double z) 
{
    z=2*x/(1+x*x);
    if (z<=1 && z>=-1)
    {
        return acos (z)-exp(-x*x);
    }
    else 
    {
        return -100;
    }
}
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
10.07.2013, 05:55     Реализация acos #5
Допустимые значения для acos [-1;1].
C++
1
2
3
4
if ((x > -1) && (x < 1))
{
    x = arccos(x);
}
RavilSHai
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 82
10.07.2013, 05:59  [ТС]     Реализация acos #6
Ругается что слишком много аргументов при вызове функций
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
10.07.2013, 06:09     Реализация acos #7
Цитата Сообщение от RavilSHai Посмотреть сообщение
Ругается что слишком много аргументов при вызове функций
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 <iostream>
#include <Windows>
#include <math>
using namespace std;
 
 
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
double x;
double m;
cout << "Введите X = ";
cin >> x;
if((x >= -1) && (x <= 1))
{
m = acos(x);
cout << "Acos(x) = " << m << endl;
}
else cout << "Значение X не подходит...";
 
 
 
cout << "\n";
system("PAUSE");
}
RavilSHai
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 82
10.07.2013, 06:11  [ТС]     Реализация acos #8
Цитата Сообщение от Bend3r Посмотреть сообщение
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 <iostream>
#include <Windows>
#include <math>
using namespace std;
 
 
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
double x;
double m;
cout << "Введите X = ";
cin >> x;
if((x >= -1) && (x <= 1))
{
m = acos(x);
cout << "Acos(x) = " << m << endl;
}
else cout << "Значение X не подходит...";
 
 
 
cout << "\n";
system("PAUSE");
}
А теперь каким образом мне вбить эту функцию сюда
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
#include <locale>
#include <stdio.h>
#include <conio.h>
  
double f(double x, double u)
{
    return acos((2*x/(1+x*x))-exp(-x*x));
}
void main() {
    setlocale(LC_ALL, "Russian");
    double x1,x2,xN,y,E=0.01;
    int n=0;
//  printf ("Введите E:=");
//  scanf ("%f", &E);
    printf ("Введите значение x1:\n");
    scanf ("%lf", &x1);
    printf ("Введите значение x2:\n");
    scanf ("%lf", &x2);
    printf("Метод секущих:\n");
    do
    {
      n++;
//      y=xN;
      xN=x2-((x2-x1)/(f(x2)-f(x1)))*f(x2);
      x1=x2;
      x2=xN;
      y=xN;
    }
    while(fabs(y-xN)<E);
    printf ("Otvet:%lf\nnayden na %d iteracii",xN,n);
    getchar();
    getchar();
    getchar();
    getchar();
    getchar();
    getchar();
    getchar();
    getchar();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2013, 06:31     Реализация acos
Еще ссылки по теме:

C++ Как правильно описать функцию acos?
C++ Не понимаю почему не выводит acos!
C++ Неправильное вычисление уравнения (atan, acos, fabs)

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

Или воспользуйтесь поиском по форуму:
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
10.07.2013, 06:31     Реализация acos #9
C++
1
2
3
4
5
double f(double x, double u)
{
    double z = acos((2*x/(1+x*x))-exp(-x*x));
    return z;
}
Ну а проверка реализуйте непосредственно перед самим вызовом функции f.
Yandex
Объявления
10.07.2013, 06:31     Реализация acos
Ответ Создать тему
Опции темы

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