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

метод Зейделя - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция, которая копирует строку в другую строку заданное количество раз http://www.cyberforum.ru/cpp-beginners/thread8705.html
Помогите!!!! срочно нужна задача. Не знаю как сделать. Разработать функцию, которая копирует строку в другую строку заданное количество раз При реализации функции запрещается пользоваться функциями библиотек языка C.
C++ Помогите новичку:) { printf("\n\nEshe : "); scanf("%s",&e); if(e=='y') c=1; if(e=='n') c=3; } } printf("%s %i","\nVashu o4ki: ",isumma); http://www.cyberforum.ru/cpp-beginners/thread8703.html
C++ Описать структуру з именем WORKER
Привет уважаемые программисты!. Помогите пожалуйста (очень срочно нада!!) решить две задачи на С++. Очень прошу не оставляйте без внимания. Зарание спасибо!. 1.Даны две группы точек на плоскости. Найти радиус и центр круга, который проходит через n (n>2) точек первой группы и удерживает строго в середине себя одинаковое количество точек первой и второй группы. 2.Описать структуру з именем...
Помогите пожалуйста решить пару задач на зачет! C++
:help: 1. В текстовом файле посчитать процентное отношение гласных и согласных букв 2. Описать класс Треугольник, содержащий координаты вершин, конструктор, функцию, определяющую правильность введения данных, т.е. проверяющую возможность построения треугольника по заданным вершинам, и функцию, рисующую треугольник на экране. Продемонстрировать в программе работу всех функций. помогите...
C++ Помогите люди!!!с файлами.... http://www.cyberforum.ru/cpp-beginners/thread8690.html
Здравствуйте всем...!!!:).Помогите новичку пожалуйста....:'( Вычислить группу файлов "по маске",а затем вычислить перемещение файлов на съемный диск А: Заранее благодарю...:help:
C++ теория графов помогите пожалуйста с методом решения, не понимаю суть задачи, как ее реализовать.. В графе найти максимальное (по кол-ву) ребер подмножество попарно несмежных ребер. И если не трудно опдскажите как в этой задаче лучше всего представить граф в памяти компьютера! заранее боольшое вам спасибо) и здоровья вам.. и счастья.. и добра..)) подробнее

Показать сообщение отдельно
MsDos
 Аватар для MsDos
5 / 5 / 1
Регистрация: 13.05.2008
Сообщений: 91
17.06.2008, 22:10     метод Зейделя
если еще актуально
у меня как раз курсовая была така сейчас, есть написанная программа на досе и в билдере с использованием динамических массивов.
код для проги в досе:
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <fstream.h>
#include <iostream.h>
int k, t, i;
 
 
int HMEV()
{
 i=0;
 int n;
 do{ if (i == 1) printf("The number you entered isn't belong the period [1;10], please, try again: ");
 cin>>n; i=1;
 }while ((n>10) || (n<1));
 return n;
}
 
double **DFND(double *(*pMas), int m, int n) { for(k=0; k<m; k++) pMas[k] = new double [n]; return pMas;}
 
double **CORD(double *(*pMas), int m, int n, char *file)
{
 i = 0; ifstream SMas(file);
 while ((!SMas.eof())&&(i!=m*n))
 {
  for(k=0; k<m; k++) for(t=0; t<n; t++) { SMas>>pMas[k][t]; i++; }
 }
 SMas.close();
 return  pMas;
}
 
void COUT(double *(*pMas), int m, int n)
{
 for (k=0; k<m; k++) { for (t=0; t<n; t++)
 { if (t != n-1) {cout<<pMas[k][t]<<", ";} else {cout<<pMas[k][t]<<";\n";} }}
}
 
//--------------------------------------------------
 
double **FOCH(double *(*a), double *(*A), double *(*B), int m, int n)
{
 for (k=0; k<m; k++) for (t=0; t<n; t++) if (k!=t) a[k][t]=A[k][t]/B[k][k]; else a[k][t]=0;
 return a;
}
 
int EXTZ (double *(*a), int n)
{
 i=0; double S=0;
 for (k=0; k<n; k++) for (t=0; t<n; t++) S+=a[k][t]*a[k][t];
 if (sqrt(S) < 1) i=1;
 return i;
}
 
 
 
double **CTXi(double *(*a), double *(*b), double *(*X), int n, int i)
{
 double Q = b[i][0];
 for (t=0; t<n; t++) Q += a[i][t]*X[0][t];
 X[0][i] = Q;
 return X;
}
 
double **CONT(double *(*a), double *(*b), double *(*X), double e, int n)
{
 double E1 = 0, E2 = 0;
 do {
  for (i=0; i < n; i++)
  {
   double S = X[0][i];   
   CTXi(a, b, X, n, i);
   E1 += (X[0][i] - S)*(X[0][i] - S);
   E2 += (X[0][i])*(X[0][i]);
  }
 }while (sqrt(E1/E2) > e);
 return X;
}
 
//--------------------------------------------------
 
void DELT(double *(*pMas), int n)
{
 for (k=0; k<n; k++) delete pMas[k];
 delete []pMas;
}
 
 
//==================================================
void main ()
{  int key=0;
do{
 clrscr();
 char *FA = "A.TXT", *FB = "B.TXT", *FX = "X.TXT", *Fe = "e.TXT";
 printf("This programm is solving the SLAE by iteration method named Ze'del. The start values its keeps from files, but you can choose the size of the sistem. It can be betwin 1*1 to 10*10 size.\n\n");
 printf("Well, enter the number of equils and variables, please: ");
 const int n = HMEV();
 const double e = 0.001;
 cout<<"\nEpselon = "<<e<<"\n";
 
 double **A = new double *[n];
 double **a = new double *[n];
 double **B = new double *[n];
 double **b = new double *[n];
 double **X = new double *[1];
 
 DFND(A, n, n);
 DFND(a, n, n);
 DFND(B, n, 1);
 DFND(b, n, 1);
 DFND(X, 1, n);
//-----------------------------------------
 
 CORD(A, n, n, FA);
 CORD(B, n, 1, FB);
 CORD(X, 1, n, FX);
 
 printf("\nThe matrix of coefficients:\n");
 COUT(A, n, n);
 printf("\nThe matrix of free parts:\n");
 COUT(B, n, 1);
 printf("\nStart values of variables:\n");
 COUT(X, 1, n);
 printf("\nThe values loaded from files.\nCalculations may take some time, so please, be patiant: we're in work.\n");
 
 
 FOCH(a, A, A, n, n);
 FOCH(b, B, A, n, 1);
 for (k=0; k<n; k++) for (t=0; t<n; t++) a[k][t]*=-1;
 
 if (EXTZ(a, n) == 1)
 {
  CONT(a, b, X, e, n);
  printf("\n----------------------\nThe solve of the sistem:\n");
  COUT(X, 1, n);
 }
 else printf("\n\n----------------------\nThis sistem has not the solve because its norma is higher or equil 1.\n");
 
//-----------------------------------------
 DELT(A, n);
 DELT(a, n);
 DELT(B, n);
 DELT(b, 1);
 DELT(X, 1);
 
//-----------------------------------------
 printf("\nWould like to again? (y/n) ");
 key=getch();
}while ((key!=110)&&(key!=27));
// getch();
}
 
Текущее время: 04:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru