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

Проблемы с реализацией программы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Векторы http://www.cyberforum.ru/cpp-beginners/thread515665.html
Изучаю сейчас библиотеку vector. #include <vector> int main() { std::vector<int> v(2); // Создаем вектор, состоящий из двух элементов типа Int // Создаем ссылки на оба элемента int& first = v.front(); int& last = v.back(); v.insert(v.begin() + 1, 1, 1); // Добавляем новые элементы в середину вектора
C++ Подсчитать наибольшее количество идущих подряд пробелов Даны натуральное число n, символы S1, .... Sn . а) Подсчитать наибольшее количество идущих подряд пробелов; б) Выяснить, верно ли, что в последовательности S1, .... Sn имеются пять идущих подряд букв е. Решите на С++.Спасибо заранее. Добавлено через 22 часа 25 минут Число символов в строке не вносит в исходные данные задачи, но предполагается, что оно не превосходит максимально... http://www.cyberforum.ru/cpp-beginners/thread515654.html
Выяснить, имеются ли в строке такие последовательности символов - ",-" C++
Даны натуральное число n, символы s1,…,sn. Выяснить, имеются ли в последовательности s1,…,sn такие члены последовательности si,si+1, что si- это запя¬тая, a si+1 – тире. Решите на С++,буду очень благодарна.
C++ Помогите понять и исправить ошибку...
#include <iostream> using namespace std; int LC ; char C = "Фраза"; void WW (void) { LC = sizeof(C); } void Prin (void) { cout << "\n Длина строки С = " << LC; }
C++ Конструирование транслятора для модельного языка. Литература по LEX/YACC http://www.cyberforum.ru/cpp-beginners/thread515627.html
Простите, не знал куда тему приткнуть. Ищу литературу по LEX/YACC. Софт, книги и т.д.
C++ функцыя структур В програмі використати функції користувача У масиві що складаеться з 20 цілих елементів обчислити 1 номер мінімального елементу массиву 2 суму елементів масиву розташованого між першім і другим відемними елементами 3 перетворити масив так щоб спочатку розташовувалися всі елементи модуль яких не перевищую 5 а потім всі інші Официальным языком форума является русский язык. подробнее

Показать сообщение отдельно
4938
Сообщений: n/a
10.03.2012, 21:53     Проблемы с реализацией программы
Всем добрый вечер!
не могу понять в чем ошибка программы. Сама программа запускается, ввожу параметр eps и дальше она ничего не делает. Причем, если в main отключить строчку a[k] = square_root(Sin(x+0.74,epsG),epsF)*Sh((0.8*(x*x)+0.1),epsPhi); то все выполняется.
При компиляции никаких ошибок нет.
Помогите, пожалуйста.

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
#include "stdafx.h"
#include<iostream>
#include<cmath>
 
using namespace std;
 
#define min 0.1//минимальное значение
#define max 0.2// максимальное значение
#define step 0.01 // шаг
 
double Sin (double x, double eps)// приближенное вычисление синуса
{
    double s = 1;
    double Rn = 1;
    double k = 1;
    do
    {
        Rn = Rn*(((-1)*x*x*x)/(2*k*(k+2)));
        s = s+Rn;
        k++;
    }
    while(fabs(Rn)>=eps);
 
    return s;
}
 
double Sh(double x, double eps)
{
    double s = 1;
    double Rn = 1;
    double k = 1;
    do
    {
        Rn = Rn*((x*x*x)/(2*k*(k+2)));
        s = s+Rn;
        k++;
    }
    while(fabs(Rn)>=eps);
    return s;
}
double square_root(double x, double eps)
{
    double f1 = 1.5;
    double f2 = 0;
    while (fabs(f1 - f2)>eps)
    {
        f2 = f1;
        f1 = 0.5*(f2+x/f2);
    }
    return f1;
 
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    
    double eps = 0;
    printf("eps = ");
    scanf("%lf", &eps);
    double epsPhi = eps/(1.5);
    double epsG = eps/(1.08);
    double epsF = eps/3;
    int n = 1 + (int)((max-min)/step); // вычисление колва шагов
    double *a = new double[n];// массив для приближенных значений z
    double *b = new double[n]; // массив для точных значений z
    int k = 0;
    for (double x = min; x <= max; x = x+step)
    {
        a[k] = square_root(Sin(x+0.74,epsG),epsF)*Sh((0.8*(x*x)+0.1),epsPhi);
        b[k] = sqrt(sin(x+0.74))*sinh(0.8*pow(x,2)+0.1);
        printf("Z*(%.3f) = %.10f\n", x, a[k]);// приближенные значения
        printf("Z(%.3f) = %.10f\n", x, b[k]);//точные значения
        printf("Abs(Z-Z*) = %e\n\n", fabs(a[k]-b[k])); // вычисление и вывод погрешности
        k++;
 
    }
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru