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

Метод итерации для решения СНАУ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Наследование , зачем оно нужно ? http://www.cyberforum.ru/cpp-beginners/thread971861.html
Добрый день , который день бьюс с темой Добавлено через 3 минуты Понимаю что можно создавать классы окон в Windows от родительского используя функции родителя. Но как на практике без учебника это реализуется не знаю . //Что может унаследовать класс WomaN от MaN и не проще ли создавать просто новый класс ???Вот код : #include<iostream> #include<string.h> using namespace std;
C++ Проверка есть ли элемент в векторе Если уже есть такой то увеличить счетчик для этого элемента, если нет то добавить. Как это сделать? http://www.cyberforum.ru/cpp-beginners/thread971854.html
C++ Как на SDL 2 нарисовать пиксель?
Делаю урок, но он для SDL 1.2, а во второй версии нету функции SDL_SetVideoMode(), и хоть я создаю окно, как переделать этот урок под версию 2.0, так и не понял. Везде искал, даже доков на официальном сайте не нашёл. Конкретно непонятно, как должны выглядеть функции drawPixel(), slock() и sulock().
C++ Разбор кода
Есть такой код. #include<vcl.h> #pragma hdrstop #pragma argsused #include <dos.h> #include <stdio.h> #include <windows.h> #include <conio.h> #include <winnt.h> staticintmaxindex;
C++ Добавить несколько функций http://www.cyberforum.ru/cpp-beginners/thread971813.html
привет всем) вот есть код на С++ в консольном приложении VS 2008 - калькулятор с функциями сложения, вычитания, умножения и деления. Дополните пожалуйста его еще четырьмя функциями, а то я не могу че то никак сделать, на все ругается визуал у меня( Нужно добавить КОРЕНЬ ИЗ ЧИСЛА, СИНУС, КОСИНУС, ТАНГЕНС например. КОд представлен ниже: #include "stdafx.h" #include "conio.h" #include "locale.h"...
C++ Массивы. Найти максимальный элемент и поменять его с последним элементом массива Задан двухмерный массив целых чисел A. Найти максимальный элемент и поменять его с последним элементом массива. Помогайте:( подробнее

Показать сообщение отдельно
BCAA
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 3
08.10.2013, 10:36     Метод итерации для решения СНАУ
Написал программу для решения СНАУ методом итерации, но столкнулся с проблемой. После присвоения элементам матриц matn, matHn, matKn определенных значений, при выводе этих матриц, да и при работе с ними, элементы этих матриц имеют другие значения, которые принадлежат другим элементам. Никак не могу разобраться, где я напортачил, взгляните:

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
#include<iostream>
#include<math.h>
using namespace std;
int main() {
   double x, y, f, g, fotx, gotx, foty, goty, matn[1][1],  matHn[1][1], matKn[1][1];
   double detn, detHn, detKn, Hn, Kn, subtraction, buf, accuracy=0.001;
   int schet=0; 
   cout << "Vvedite Xo" << endl;
   cin >> x;
   cout << "Vvedite Yo" << endl;
   cin >> y;
   cout << endl;
   for (int i=0; i<1000; i=i+1) {
   f=0.9*x*x+2*y*y-1;
   g=tan(x*y+0.1)-x*x;
   fotx=1.8*x;
   gotx=y/pow(cos(x*y+0.1), 2)-2*x;
   foty=4*y;
   goty=x/pow(cos(x*y+0.1), 2);
   cout << "f=" << f << endl << "g=" << g << endl << "fotx=" << fotx << endl;
   cout << "gotx=" << gotx << endl << "foty=" << foty << endl << "goty=" << goty << endl; 
   matn[0][0]=fotx;
   matn[0][1]=foty;
   matn[1][0]=gotx;
   matn[1][1]=goty;
   matHn[0][0]=foty;
   matHn[0][1]=f;
   matHn[1][0]=goty;
   matHn[1][1]=g;
   matKn[0][0]=f;  
   matKn[0][1]=fotx;
   matKn[1][0]=g;
   matKn[1][1]=gotx;
   cout << "Matica matn" << endl;
   for (int l=0; l<2; l=l+1) {
       for (int q=0; q<2; q=q+1) {
            cout << matn[l][q] << "  ";
           
           }
           cout << endl;
           } 
   cout  << endl << "Matica matHn" << endl;
   for (int l=0; l<2; l=l+1) {
       for (int q=0; q<2; q=q+1) {
           cout << matHn[l][q] << "  ";
           }
           cout << endl;
           }        
   detn=matn[0][0]*matn[1][1]-matn[0][1]*matn[1][0];          
   detHn=matHn[0][0]*matHn[1][1]-matHn[0][1]*matHn[1][0];
   detKn=matKn[0][0]*matKn[1][1]-matKn[0][1]*matKn[1][0];
   cout << "detn=" << detn << endl;
   cout << "detHn=" << detHn << endl;
   cout << "detKn=" << detKn << endl;
   Hn=detHn/detn;
   cout << "Hn=" << Hn << endl;
   Kn=detKn/detn;
   cout << "Kn" << Kn << endl;
   x=buf;
   x=x+Hn;
   y=y+Kn;
   subtraction=fabs(x-buf);
   schet=schet+1;
   if (subtraction<accuracy) break;
                               }
   
   cout << endl << "X=" << x << endl;
   cout << "Y=" << y << endl;
   cout << schet;
   system("pause");
   
    }
Добавлено через 10 минут
Прошу прощения, но я ошибся - это метод Ньютона.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru