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

что делает эта программа. Метод стрельбы вроде.. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Запомнить последовательность чисел в объекте целого типа http://www.cyberforum.ru/cpp-beginners/thread963146.html
Такой вопрос. У меня есть последовательность чисел. Необходимо закодировать ее в один объект целого типа (на бинарном уровне), а после, при необходимости, ее от туда извлечь. Как это сделать?...
C++ Изучение С++ (переходы с консолей на винапи) Всем привет. Давно не делал темы. Вообщем увлекся я самп, начал читерить (с СМ :D), там везде пишут про собейты, мол их писали на С++, разные функции, вот и мне моча в голову стукнула начать учить... http://www.cyberforum.ru/cpp-beginners/thread963143.html
C++ Квадратный корень и квадрат числа
помогите решить) Дано три положительных действительных числа. Для каждого числа найти корень квадратный, если дробная часть меньше 5, в противном случае найти квадрат данного числа.
C++ Как сделать, чтобы функция считала с точностью до
Здравствуйте. Нужно написать программу. выполнил все пункты кроме одного. А именно, не знаю как сделать, чтобы функция считала с точностью до.... Вот текст задания: "Написать функцию вычисления...
C++ Обработка функции recv структуры SOCKET http://www.cyberforum.ru/cpp-beginners/thread963130.html
Прошу помощи как обработать полученную информацию из функции recv структуры SOCKET. к примеру: char buf="GooD";char mass; retVal = recv(clientSock, mas, mas, 0);...
C++ Перевести число из любой системы счисления (2, 8, 16) в десятичную Надо перевести число с любой численной системы (2,8,16) в десятичную. Кому не трудно, помогите) подробнее

Показать сообщение отдельно
mikkima
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 20

что делает эта программа. Метод стрельбы вроде.. - C++

26.09.2013, 20:11. Просмотров 1589. Ответов 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#include <cstdio>
#include <math.h>
#include <iostream>
using namespace std;
 
int n,i,k;
double a,b,c,bb,h,z[51],y[51],x,bt[2],alf,alf_1,alf_2;
void Show (int);
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (0,"");
    Show(n);
    a=1; b=1.5; n=50; bb=90.2403; 
    alf_2=1.57; alf_1=1.3962;
    h=(b-a)/n;
    y[0]=20.4534; 
    x=a;
    for (k=0;k<=1;k++)
    {
        if (k==0) {z[0]=tan(alf_1);}
        else {z[0]=tan(alf_2);}
        for (i=1;i<=n;i++)
        {
            z[i]=z[i-1]+h*(2*z[i-1]+3*y[i-1]);
            y[i]=y[i-1]+h*z[i-1];
            x=x+h;
        }
        bt[k]=y[n];
        x=a;
    }
    cin.get();
// Дробление угла
    cout << "Найдем искомое значение, разбивая угол выстрела:\n";
    k=1;
l2: alf=(alf_1+alf_2)/2;
    cout << "Итерация №" << k << ". Угол " << alf/0.01745 << endl;
    z[0]=tan(alf);
    for (i=1;i<=n;i++)
    {
        z[i]=z[i-1]+h*(2*z[i-1]+3*y[i-1]);
        y[i]=y[i-1]+h*z[i-1];
        x=x+h;
    }
    x=a;
    c=y[n];
    if (abs(c-bb)<pow(h,2))
    {
        cout << "Итераций - " << k << endl;
        cout << "Результат: y=" << c;
    }
    else if (c>bb)
    {
        alf_2=alf; k++;
        goto l2;
    }
    else if (c<bb)
    {
        alf_1=alf; k++;
        goto l2;
    }
    cin.get();
// Дробление отрезка
    cout << "Найдем искомое значение, разбивая отрезок возможных:\n";
    k=1;
l1: c=(bt[0]+bt[1])/2;
    cout << "Итерация №" << k << ". Значение: " << c << endl;
    if (abs(c-bb)<pow(h,2))
    {
        cout << "Итераций - " << k << endl;
        cout << "Результат: y=" << c;
    }
    else if (c>bb)
    {
        bt[1]=c; k++;
        goto l1;
    }
    else if (c<bb)
    {
        bt[0]=c; k++;
        goto l1;
    }       
    cin.get();
}
 
void Show (int n)
{
    cout << "Исходная краевая задача:\n";
    cout << "y''=2y'+3y, x=[1;1.5]\n";
    cout << "y(1)=20.4534\n";
    cout << "y(1.5)=90.2403\n";
    cout << endl;
    cout << "                                  1\n";
    cout << "Искомая функция: y = exp(3x) + -------\n";
    cout << "                                exp(x)\n";
    cout << endl;
    cout << "Начальные углы:  80grad = 1.3962rad\n";
    cout << "                ~90grad = 1.57rad\n";
    cout << endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru