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

Метод Гауса системы линейных уравнений: разбор кода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Структуры в С++. Определить, есть ли информация в записной книжке. http://www.cyberforum.ru/cpp-beginners/thread593821.html
7. В записной книжке указаны фамилии и номера телефонов 10 человек. Определить, есть ли в записной книжке информация о человеке с заданным номером телефона, и, если есть, вывести фамилию этого человека. Плисс, кто может сделать....
C++ Ctrl+Z в консоли Нужно написать примерно такое дело: чтобы консольное приложение на C++ при нажатии сочетания клавиш Ctrl+Z делало определённые действия (по условию - отмена последнего действия). Мне это надо просто на ввод, который вот как организован: void Song::Input () { input_name: cout << "Input name: "; cin >> obj.name; // вот тут, например, при чтении программой этого сочетания клавиш... http://www.cyberforum.ru/cpp-beginners/thread593812.html
C++ WinAPI функции
как получит id текущего процесса?
ищу программу для направленного древовидного поиска для задачи о р-медиане C++
может кто знает где найти такую программу,язык программирования любой
C++ Запись в файл и вывод структуры через под программы http://www.cyberforum.ru/cpp-beginners/thread593782.html
Помогите пожалуйста создал структуру которая содержит название игрушек,страну производителя, цену, возростные рамки и количество. записал в файл но при выводе выводит какие то символы. когда запись файла и вывод находится в одной под программе выводет нормально, но если запись в файл находить в одной под программе, а вывод в другой выводит какие то символы. # include<string.h> #...
C++ Вычисление и печать таблицы значений функции Задание:Составить программу вычисления и печати таблицы значений функции при заданных значениях параметров. Формула в прикрепленном файле. Буду благодарен. подробнее

Показать сообщение отдельно
Alen4a
Сообщений: n/a

Метод Гауса системы линейных уравнений: разбор кода - C++

01.06.2012, 23:42. Просмотров 370. Ответов 0
Метки (Все метки)

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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include <vcl.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
int obr(int N,double *A)
{
int i,j,ii,J,k,jj,t=1;
double *ish_matr,*obrmatr=NULL,*y, *r,*matr,*b,*prv;
double par,sum;
ish_matr=(double*)malloc(N*N*sizeof(double));
obrmatr=(double*)malloc(N*N*sizeof(double));
y=(double*)malloc(N*sizeof(double));
r=(double*)malloc(N*sizeof(double));
b=(double*)malloc(N*sizeof(double));
matr=(double*)malloc(N*N*sizeof(double));
prv=(double*)malloc(N*N*sizeof(double));
for (J=0;J<N;J++)
{
for(i=0;i<N;i++)
for(j=0;j<N;j++)
*(matr+i*N+j)=*(A+i*N+j);
for(i=0;i<N;i++)
{
if(i==J) b[i]=1.0;
else b[i]=0.0;
}
par=0;
for(j=0;j<N-1;j++)
{
if (*(matr+j*N+j)==0)
{
ii=j+1;
do
{
if((*(matr+ii*N+j)!=0)||(ii==N-1))
{
break;
}
ii++;
}
while(true);
if((*(matr+j*N+j)==0)&&(ii==N-1))
{
t=0;
}
for(k=0;k<N;k++)
{
r[k]=*(matr+j*N+k);
*(matr+j*N+k)=*(matr+ii*N+k);
*(matr+ii*N+k)=r[k];
} }
for(i=j+1;i<N;i++)
{
if(*(matr+i*N+j)!=0)
{
par = *(matr+i*N+j)/(*(matr+j*N+j));
for(jj=j;jj<N;jj++)
*(matr+i*N+jj)-=par*(*(matr+j*N+jj));
b[i]-=par*b[j];
}
}
}
for (i=0;i<N;i++)
{
if (*(matr+i*N+i)==0)
{
t=0;
}
}
if(t!=0)
{
for(i=N-1;i>=0;i--)
{
for(j=N-1;j>i;j--)
b[i]-=*(matr+i*N+j)*y[j];
y[i]=b[i]/(*(matr+i*N+i));
}
for(i=0;i<N;i++){
*(obrmatr+i*N+J)=y[i];}
}
else return 0;
}
FILE*fp2;
fp2 = fopen("obr.txt", "wt");
for(i=0;i<N;i++){
fprintf(fp2,"\n");
for(j=0;j<N;j++)
fprintf(fp2," %lf", *(obrmatr+i*N+j));}
fclose(fp2);
FILE*fp3;
fp3 = fopen("proverka.txt","wt");
for(i=0;i<N;i++){
for(j=0;j<N;j++){
*(prv+i*N+j)=0;
for(k=0;k<N;k++)
*(prv+i*N+j)+=*(A+i*N+k)*(*(obrmatr+k*N+j));}}
for(i=0;i<N;i++){
fprintf(fp3,"\n");
for(j=0;j<N;j++)
fprintf(fp2," %lf", *(prv+i*N+j));}
return 1;
}
int main()
{
int l,N,k=0;
double *A;
printf("Vvedite razmer matricy: ");
scanf("%d",&N);
A=(double*)malloc(N*N*sizeof(double));
FILE *fp=fopen("1.txt","rt");
while(fscanf(fp, "%lf", &*(A + k))!=EOF)
{
k++;
if((k%N)==0) printf("\n");
}
l=obr(N,(double*)A);
printf("\n%d", l);
getch();
}
Добавлено через 7 минут
Пмогите=(

Добавлено через 18 минут
Пожалуйста=(
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru