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

Краевая задача - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти количество столбцов матрицы, элементы которых упорядочены по убыванию http://www.cyberforum.ru/cpp-beginners/thread377898.html
Matrix43. Дана матрица размера M × N. Найти количество ее столбцов, элемен-ты которых упорядочены по убыванию. Matrix65. Дана матрица размера M × N. Удалить ее первый столбец, содержа-щий только положительные элементы. Если требуемых столбцов нет, то вывести матрицу без изменений.
C++ Как очистить окно консоли? Здравствуйте! Есть к примеру программа - калькулятор а консоли! Она работает так, ввели число, выбрали что сделать, выбрали 2 число... И все это отбражаеться в окне списком! Мне нужно вот что! Введите число - ввел! !ОКНО ОЧИСТИЛОСЬ! Введите действие - *,/,+,-. !ОКНО ОЧИСТИЛОСЬ! Введите другое число - ввел! !ОКНО ОЧИСТИЛОСЬ! На пустом окне я вывожу весь пример как он получиться, типа: http://www.cyberforum.ru/cpp-beginners/thread377897.html
Помогите написать программу в Вorland С31 (для 16-ной СИСТЕМЫ) C++
Помогите решить эти задачи => http://s51.***********/i134/1111/53/cf71bfc67680.jpg Добавлено через 4 минуты Хотя бы несколько помогите плиз
C++ Возвращение пустого объекта.
Описан метод поиска структуры по заданным параметрам, который, в случае нахождения этой структуры, в базе данных, возвращает ее в качестве параметра: command searchCommand(...) Вопрос состоит в следующем: Как корректно и наиболее эстетично обрабатывать отсутствие заданной структуры в базе данных ? Был опробован способ return NULL;, но, к сожалению безуспешно. Ошибка компилятора С2440 о...
C++ Приведение типов? http://www.cyberforum.ru/cpp-beginners/thread377884.html
Подскажите, пожалуйста что происходит. Не понимаю почему такой код работает. .h class Km { private: static const double DIFFERENCE = 1.2; double kilometer; double mili;
C++ Цикл сложный 1. Элементы массива a(8) расположить в том массиве по убыванию. 2. Вычислить произведение матриц b(5*3) и c(3*6). Заранее вам большое спасибо! Программа С. подробнее

Показать сообщение отдельно
Лунатик
0 / 0 / 0
Регистрация: 22.09.2011
Сообщений: 8
04.11.2011, 21:41     Краевая задача
Решение краевых задач методом прогонки для диф. уравнений второго порядка. Подскажите, где ошибка. Погрешности гигантские получаются
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
#include <stdlib.h>
#include <math.h>
using namespace std;
 
void main()
{
        int n,i;
        float c1=1.0, d1=1.0, c2=-2.0, d2=2.0, c=0, d=0, a=-1.0, b=1, fx;
        float h,e[9999], maxe;
        float p[9999],q[9999],betta[9999],gamma[9999],fi[9999],alfa[9999];
        float y[9999],u[9999],v[9999],x[9999], yt[9999];
        cout<<"Vvedite 4islo uzlov n"<<endl;
        cout<<endl<<"n=";
        cin>>n;
        x[0]=a;
        h=(b-a)/n;//шаг
        betta[0]=c1*h-c2;
        gamma[0]=c2;
        fi[0]=h*c;
        alfa[0]=0;
        yt[0]=10*exp(-x[0]*x[0]);
        for(i=1;i<n;i++)
        {
                yt[i]=10*exp(-x[i]*x[i]);
                x[i]=x[i-1]+h;//определение отрезка
                p[i]=x[i]*x[i];// р на данном отрезке
                q[i]=x[i];//q на данном отрезке
                fx=10*exp(-x[i]*x[i])*(2*x[i]*x[i]-1)*(2-x[i]);
                fi[i]=h*((y[i+1]-2*y[i]+y[i-1])/h*h+p[i]*(y[i+1]-y[i-1])/2*h+q[i]*y[i]);// функция на данном отрезке
                alfa[i]=1/h-(1/2)*p[i];
                betta[i]=q[i]*h-2/h;
                gamma[i]=1/h+(1/2)*p[i];
        }
        alfa[n]=-d2;
        betta[n]=h*d1+d2;
        fi[n]=h*d;
        gamma[n]=0;
        v[0]=gamma[0]/betta[0];
        u[0]=fi[0]/betta[0];
        for(i=1;i<n;i++)//прямой ход прогонки
        {
                v[i]=-gamma[i]/(betta[i]+alfa[i]*v[i-1]);
                u[i]=(fi[i]-alfa[i]*u[i-1])/(betta[i]+alfa[i]*v[i-1]);
        }
        y[n]=u[n];
        v[n]=0;
        for(i=n-1;i>0;i--) //обратный ход прогонки
                y[i]=u[i]+v[i]*y[i+1];
        
        cout<<"maximal'naya pogre6nost'"<<endl;//нахождение погрешности
        for(i=0;i<n;i++)
        {
                cout<<yt[i]<<endl<<y[i]<<endl;
                e[i]=y[i]-yt[i];
        }
        maxe=e[0];
        for(i=0;i<n;i++)
        {
                if (e[i]>maxe) maxe=e[i]; 
        }
        cout<<maxe <<endl;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru