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

Метод Гаусса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Алгоритм звезды http://www.cyberforum.ru/cpp-beginners/thread378299.html
Где-то видел в книге но не могу найти этот алгоритм выводу и форматирование звезд ... Подскажите если кто-то помнит ... там идет 6 звезд, новый ряд это типа if ( i % 6 == 0 ) cout << endl; потом маленький пробел - 5 звезд и опять << endl; и так повторяется пока в цикле всё 50 звезд не выведет на экран ... пример выводу таких звезд есть на США прапоре
C++ Наследование. Продукты и корзина Дано условие: создать класс товар, содержащий какие-то общие сведения о товарах, от него производный уже какой-то определенный товар (например: печенье, молоко, хлеб). В нем тоже какие-то данные о отделе в котором он находится. И создать класс корзина, который, видимо, будет наследовать все эти конкретные товары. В корзине будут методы для работы с товарами (добавление товара, подсчет цены,... http://www.cyberforum.ru/cpp-beginners/thread378287.html
C++ подсчитать слейдующее выражени
Для заданного натурального k и действительного х подсчитать слейдующее выражение S=∑((-1)^(n-1 ) 〖(x)〗^n)/(2n)!
НОД для массива C++
Помогите написать функцию для нахождения НОДа для массива. нужна просто функция
C++ Написать программу для подсчета суммы http://www.cyberforum.ru/cpp-beginners/thread378262.html
Для заданного натурального n и действительного х подсчитать слейдующюю сумму: S=cos1-cos2+cos3-…+ 〖(-1)〗^(n+1)cos n
C++ функция удаления работает не корректно почему??? функция удаления в контрольной не работает... возился два дня с ней никак не могу сделать чтоб работала как надо... явно надо по больше читать про работу со списками... но просто время поджимает сдавать контрольную, функция должна удалять элемент после введеного номера, тоесть если ввел номер один то удалить должна элемент под номером два, у меня получается что ввожу 1 и удаляет первый элемент, а... подробнее

Показать сообщение отдельно
vladmuskat
1 / 1 / 0
Регистрация: 12.01.2011
Сообщений: 9

Метод Гаусса - C++

05.11.2011, 18:49. Просмотров 636. Ответов 3
Метки (Все метки)

В школе задали написать программу , которая решает систему уравнений методом Гаусса.
Матрица квадратная (колличество строк = колличеству коэффициентов).
Я вроде нашёл на форуме программу но не понимаю как она работает

Добавлено через 2 минуты
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 "stdio.h"
#include "conio.h"
#include <iostream>
#include <string.h>
#include <stdio.h> // ГЋГЇГЁГ±Г*Г*ГЁГї ГґГіГ*êöèé ââîäГ*-âûâîäГ*
#include <math.h> // ГЋГЇГЁГ±Г*Г*ГЁГї Г¬Г*ГІГҐГ¬Г*ГІГЁГ·ГҐГ±ГЄГЁГµ ГґГіГ*êöèé
using namespace std;
const int n=3; 
void ReadData()
{ int n;
double A[n][n];
{ fscanf(f,"%d",&n);
printf("Sborka matritsi m- na n-:\n");
for (int i=0;i<n;i++)
{ for(int j=0;j<n;j++)
{ fscanf(f,"%d",&A[i][j]);
printf("%d",A[i][j]);
} printf("\n");
} printf("\n\n");
fclose(f); } }
void Gauss
( double X[n], const double Z[n][n], const double Y[n])
{ ReadData();
double A[n][n]; // Г¬Г*òðèöГ* êîýôôèöåГ*òîâ ГѓГ*ГіГ±Г±Г*
double B[n]; // Г°Г*áî÷èé Г¬Г*Г±Г±ГЁГў ñâîáîäГ*ûõ ÷ëåГ*îâ
int i,
int j,
int k; // Г°Г*áî÷èå ïåðåìåГ*Г*ûå
for( i = 0; i < n; i++ ) // êîïèðîâГ*Г*ГЁГҐ Гў Г°Г*áî÷óþ Г¬Г*òðèöó A
{ for( j = 0; j < n; j++ ) 
A[i][j] = Z[i][j];
B[i] = Y[i]; // êîïèðîâГ*Г*ГЁГҐ ñâîáîäГ*ûõ ÷ëåГ*îâ
X[i] = 0; }
for( k = 0; k < n-1; k++ )
for( i = k+1; i < n; i++ ) // ïðåîáðГ*çîâГ*Г*ГЁГҐ ñòðîê
{ double r = A[i][k] / A[k][k];
for( j = k; j < n; j++ )
A[i][j] -= A[k][j] * r;
B[i] -= B[k] * r;
}
X[n-1] = B[n-1] / A[n-1][n-1];
 
for( i = n-2; i >= 0; i-- )
{ double s = 0;
for( j = i+1; j < n; j++ ) 
s += A[i][j] * X[j];
X[i] = ( B[i] - s ) / A[i][i];
} printf( "\n" );
for( i = 0; i < n; i++ ) 
{ printf( "\n" ); 
for( j = 0; j < n; j++ ) 
printf( "%8.2lf", A[i][j] );
printf( " %8.2lf", B[i] );
} }
void main( void )
{ ReadData();
double X[n]; // êîðГ*ГЁ ñèñòåìû ëèГ*ГҐГ©Г*ûõ ГіГ°Г*ГўГ*ГҐГ*ГЁГ©
short i, j; // Г°Г*áî÷èå ïåðåìåГ*Г*ûå
printf( " matritsa A* matritsa B\n" ); 
for( i = 0; i < n; i++ ) // öèêë ñòðîê
{ printf( "\n" ); // Г*îâГ*Гї ñòðîêГ* Г*Г* ìîГ*èòîðå 
for( j = 0; j < n; j++ )
printf( "%8.2lf", A[i][j] );
printf( " %8.2lf", B[i] ); 
} printf( "\n" ); 
printf( "stypen4atii vid matritsi \n" ); 
Gauss( X, A, B ); // ðåøåГ*ГЁГҐ ìåòîäîì ГѓГ*ГіГ±Г±Г*
printf( "\n" );
printf( "\n" );
printf( " zna4enia peremennih x1,x1,x3\n" ); 
printf( "\n X = " );
for( i = 0; i < n; i++ )
 
printf( "%8.2lf", X[i] );
printf( "\n" );
printf( "\n" );
printf( "rang=\n" );
getch(); 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru