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

Гаусс - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ какой функцией воспользоваться? http://www.cyberforum.ru/cpp-beginners/thread451883.html
какой функцией могу воспользоваться чтоб скорость компиляции возрасла при выборе 2592000сек, т.е. 1месяц он очень долго думает while(t<2592000);
C++ Алгоритм Дейкстры "Для заданных n(1<=n<=500), m(1<=m<=n*n), v1 v2(1<=v1,v2<=n), где n-число вершин неор графа, m - количество ребер, v1 стартовая вершина v2 конечная вершина, найти кратчайшее расстояние от v1 до v2. Входные данные первая строка - n m v1 v2 далее m строк с описанием ребер. Выходные данные - искомая длина" Пример Ввод 2 1 1 2 2 1 2 Вывод http://www.cyberforum.ru/cpp-beginners/thread451882.html
решения, которые получаются перестановкой размеров сторон считать одинаковыми C++
Очень нужно реализовать прграмму на Паскале. Вопрос вызывает только вторая часть задачи. Не могу описать "исключение".Помогите пожалуйста. Найти размеры всех прямоугольников, площадь которых равна заданному натуральному числу S и стороны которых выражены натуральными числами. При этом решения, которые получаются перестановкой размеров сторон считать одинаковыми.
Классы C++
Разработать консольную программу на языке С++, в которой описывается и используется простой класс для объектов индивидуального варианта. Поля данных класса должны быть закрытыми, а доступ к ним должен осуществляться с помощью открытых методов. Кроме полей с данными в классе должны быть конструкторы, деструктор и другие методы класса в соответствии с заданием. Создать массив объектов. ...
C++ Форматированный вывод http://www.cyberforum.ru/cpp-beginners/thread451814.html
Например: double a=3.00; cout << a; выводит 3 А мне нужно (таково условие вывода в задаче), чтобы выводило именно 3.00 То есть, чтобы выводило в обычной (не scientific) записи округлённое число именно до сотых. И чтобы обязательно выводило два десятичных знака после запятой, даже если это нули. Как это сделать. Помогите, пожалуста. Экспериментировал c precision, ceil, floor......
C++ Игра "Жизнь" Игра "Жизнь" Игра моделирует жизнь поколений гипотетической колонии живых клеток, которые выживают, размножаются или погибают в соответствии со следующими правилами: Клетка выживает в следующем поколении, если у нее 2 или 3 соседа из 8 возможных. Если у клетки только один сосед или ни одного, она погибает в изоляции. Если клетка имеет четырех и более соседей, она погибает от перенаселения. Новая... подробнее

Показать сообщение отдельно
A_S_M
0 / 0 / 0
Регистрация: 07.10.2011
Сообщений: 29
24.02.2012, 13:48     Гаусс
Помогите написать программу в С++
код в паскале
Текст программы
"Решение систем линейных уравнений методом Гаусса"

Pascal
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
Program Lin_yravneniya;
 uses crt;
 const N=3;
 eps=0.00001; { all numbers less than eps are equal 0 }
 type matr=array [1. n,1. n] of real;
 mas=array [1. n] of real;
 var
 i,j: integer;
 b,x: mas;
 variant: byte;
 a,c: matr; 
 dt: real;
 imx,np: integer;
 {*** печать исходной и обратной матрицы*** }
 procedure PrintMatr2 (m,m1: matr; n,nz,nd: integer);
 var i,j: integer;
 begin
 for i: =1 to n do
 begin
 if (i=1) then write (np: 2,': ')
 else write (' ');
 for j: =1 to n do
 write (m [i,j]: nz: nd); write (' ');
 for j: =1 to n do
 write (m1 [i,j]: nz: nd);
 writeln;
 end;
 inc (np);
 end;
 procedure MultString (var a,b: matr; i1: integer; r: real);
 var j: integer;
 begin
 for j: =1 to n do
 begin
 a [i1,j]: =a [i1,j] *r;
 b [i1,j]: =b [i1,j] *r;
 end;
 end;
 procedure AddStrings (var а,b: matr; i1, i2: integer; r: real);
 { процедура прибавляет к i1 строке матрицы а i2-ю умноженную на r}
 var j: integer;
 begin
 for j: =1 to n do
 begin
 a [i1,j]: =a [i1,j] +r*a [i2,j] ;
 b [i1,j]: =b [i1,j] +r*b [i2,j] ;
 end;
 end;
 procedure MultMatr (a,b: matr; var c: matr);
 var i,j,k: byte;
 s: real;
 begin
 for i: =1 to n do
 for j: =1 to n do
 begin
 s: =0;
 for k: =1 to n do
 s: =s+a [i,k] *b [k,j] ;
 c [i,j]: =s;
 end;
 end;
 function sign (r: real): shortint;
 begin
 if (r>=0) then sign: =1 else sign: =-1;
 end;
 {********************************** *****************}
 {** вычеркивание из матрицы строки и столбца **}
 procedure GetMatr (a: matr; var b: matr; m, i,j: integer);
 var ki,kj,di,dj: integer;
 begin
 di: =0;
 for ki: =1 to m-1 do
 begin
 if (ki=i) then di: =1;
 dj: =0;
 for kj: =1 to m-1 do
 begin
 if (kj=j) then dj: =1;
 b [ki,kj]: =a [ki+di,kj+dj] ;
 end;
 end;
 end;
 {*** метод Гаусса *******}
 procedure gauss (a: matr; b: mas; var x: mas; n: integer);
 Var k: byte;
 m, s: real;
 begin
 { приведение к треугольному виду}
 For k: =1 to N-1 do
 For i: =k+1 to n do
 begin
 m: =a [i,k] /a [k,k] ;
 a [i,k]: =0;
 For j: =k+1 to N do
 a [i,j]: =a [i,j] -m*a [k,j] ;
 b [i]: =b [i] -m*b [k] ;
 end;
 {расчет неизвестных х в обратном порядке}
 x [n]: =b [n] /a [n,n] ;
 writeln;
 writeln ('Вывод результатов решения системы уравнений методом Гаусса');
 writeln ('x [',n,'] =',x [n]: 6: 2);
 for i: = (n-1) downto 1 do
 begin s: =0;
 For j: =i+1 to n do
 s: =s-a [i,j] *x [j] ;
 x [i]: = (b [i] +s) /a [i, i] ;
 writeln ('x [', i,'] =',x [i]: 6: 2);
 end;
 end;
 Комментарий модератора 
Код выделяем тегами!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru