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

Решение СЛАУ методом Гаусса, индексы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как изменить вид и положение курсора в консоли? http://www.cyberforum.ru/cpp-beginners/thread522213.html
ВСем доброго времени суток есть несколько вопрос по работе с курсором в консоли 1) как сделать что курсор принял вид мигающего квадратика а не палочки 2) как задать цвет курсора 3) как по нажатию на кнопки клавиатуры перемещать курсор в нужное место ****** с последними двумя вроде разобрался..(но со вторым не до конца) - но на сколько так правильно... а вот по первому вопросу нечего найти...
C++ шаблон функции подсчитать среднее арифметическое элементов расположенных выше главной диагонали. Непойму где ошибка. #include<iostream> using namespace std; template<typename X> void printArray(char *name, X *mas, int n) { cout<<name; for(int i=0; i<n; ++i) for(int j=0; j<n; ++j) cout<<mas<<"\t"; http://www.cyberforum.ru/cpp-beginners/thread522205.html
алгоритмы сортировки массивов C++
помогите пожалуйста решить задачу на с++... Если у массива А(50) есть элемент, равный квадрату последнего элемента, то все элементы, следующие за ним, упорядочить по возрастанию методом вставки.
Инвертировать все биты в старшем байте числа. C++
Инвертировать все биты в старшем байте числа.
C++ Написать программу на С++ http://www.cyberforum.ru/cpp-beginners/thread522184.html
Разработать интерфейс для работы с файлами, позволяющий читать и писать в произвольную позицию в файле, и выполнить его реализацию. Предусмотреть события, оповещающие об ошибках.
C++ Написать многопоточное приложение Один поток используется для вычисления x по формуле x=t*t+3t+4, где t-величина, зависящая от системного времени, а второй поток— для вычисления y по формуле y=2x+6, где x— вычислен в первом потоке подробнее

Показать сообщение отдельно
apachan
13 / 13 / 2
Регистрация: 07.12.2010
Сообщений: 127
19.03.2012, 13:31     Решение СЛАУ методом Гаусса, индексы
Собственно программа решает слау методом гаусса.
Как найти индексы главного элемента на второй итерации?

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
#include <iostream.h>
#include <math.h>
void main(void)
{
int N,i,j,k,l,m,ypos;
cout <<"Enter N: "; // Ввод номера варианта
cin >>N;
double a[4][4]={{0,-20-0.3*N,3,0.1*N},{25,2,-2,1},{-4,-0.1*N,1,16+0.3*N},{2,5,25,-2}},
b[4][1]={{-49-0.5*N},{25*N+11},{-3.9*N+13},{2*N-67}},
ab[4][5]={{0,-20-0.3*N,3,0.1*N,-49-0.5*N},{25,2,-2,1,25*N+11},{-4,-0.1*N,1,16+0.3*N,-
3.9*N+13},{2,5,25,-2,2*N-67}},
glav_elem, // Переменная, для хранения значения главного элемента
buf_elem, x[4][1]={{0},{0},{0},{0}}; // Буферный элемент
cout <<endl<<"Matrix A"<<endl; // Вывод исходной матрицы А
for (i=0; i<4; i++)
{
for (j=0; j<4; j++)
{
cout<<a[i][j]<<" ";
}
cout <<endl;
}
cout <<endl;
cout <<"Matrix B"<<endl; //Вывод исходной матрицы В
for (i=0; i<4; i++)
{
cout<<b[i][0];
cout<<endl;
}
cout <<endl;
cout <<"Matrix AB"<<endl; //Вывод исходной матрицы AВ
for (i=0; i<4; i++)
{
for (j=0; j<5; j++)
{
cout<<ab[i][j]<<" ";
}
cout <<endl;
}
cout <<endl;
for (j=0; j<4; j++) // Цикл по строкам
{
glav_elem=0;
for (i=j; i<4; i++) // Цикл по столбцам
{
if (fabs(ab[i][j])>glav_elem) // Нахождение главных
// элементов
{
glav_elem=fabs(ab[i][j]);
ypos=i; // Номер столбца с главным
//элементом
}
}
for (k=0; k<5; k++) // Цикл по столбцам матрицы АВ
{
buf_elem=ab[j][k]; // Перемещение главного элемента на первое
ab[j][k]=ab[ypos][k]; // место в каждой строке
ab[ypos][k]=buf_elem;
}
for (i=j+1; i<5; i++)
{
double t=(-ab[i][j]/ab[j][j]); // t - делитель, необходимый для
//прямого ходя метода Гаусса
for(k=0; k<5; k++)
{
ab[i][k]=ab[i][k]+ab[j][k]*t; //(-ab[i][j]/ab[j][j]); // Обнуление
// элементов, стоящих ниже главной диагонали
}
}
for (l=0; l<4; l++) // Цикл вывода элементов матрицы АВ
{
for (m=0; m<5; m++)
{
cout<<(ab[l][m])<<" ";
}
cout <<endl;
}
cout <<endl;
}
for (i=3; i>-1; i--) // Цикл по столбцам
{
x[i][0]=(ab[i][4]-ab[i][3]*x[3][0]-ab[i][2]*x[2][0]-ab[i][1]*x[1][0])/ab[i][i];
}
cout <<endl;
for (i=0; i<4; i++) // Вывод матрицы значений искомых неизвестных
{
cout <<"x"<<i+1<<"="<<x[i][0]<<endl;
}
cout <<endl;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru