Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Examination_IT / ComputerScience_LaboratoryWork_ForStudent

.pdf
Скачиваний:
13
Добавлен:
16.05.2015
Размер:
5.86 Mб
Скачать

131

% 7

x1

= 1,4 0 0 0,1 0 0,3 0 = 1,4

 

1

 

.

x1

= 1,2 0,1 1,4 0 0 0,1 0 = 1,06

2

 

 

1

 

 

x3

= 1,6 0,3 1,4 0,3 1,06 0 0 = 0,862

? 7

x

2

= 1,4

0 1,4 0,1 1,06 0,3 0,862 = 1,035

 

1

 

 

.

x

2

= 1,2

0,1 1,035 0 1,06 0,1 0,862 = 1,01

 

2

 

 

 

 

2

 

 

 

x3

= 1,6 0,3 1,035 0,3 1,01 0 0,862 = 0,987

& 7

x3

= 1,4

0 1,035 0,1 1,01 0,3 0,987 = 1,003

 

1

 

 

.

x3

= 1,2

0,1 1,003 0 1,01 0,1 0,987 = 1,001

2

 

 

 

3

 

 

 

x3

= 1,6 0,3 1,003 0,3 1,001 0 0,987 = 0,999

@ 7

x4

= 1,4

0 1,003 0,1 1,001 0,3 0,999 = 1

1

 

 

.

x4

= 1,2

0,1 1,00 0 1,001 0,1 1,001 = 1

2

 

 

 

x4

= 1,6 0,3 1 0,3 1 0 0,999 = 1

 

3

 

 

 

2 C R = 1; = 1; = 1.

- C R

A. .

R . D C A ;@7

³ = \ ³ .

- ³ – , B

R . - :

132

xold B

xnew B A

Šx = xnew- xold B x.

;, xold xnew ,

axold + dxnew = b+dxold

- A xnew:

Šx = xnew- xold = d-1 (b - axold) xnew= xold + Šx

R a

, , , -

> `:

xnew= xold + k Šx

! R>> k (0;2) – R>> . f k (0;1), , k (1;2)

– .

Q C ;@7 ` -

/ AB :

////////////////////////////////////////////////////////////////

//w ; {‘ % ! k L!. I e I

//L, ! J ! ! 9 I ! L

//;

int Zeidel(

double **a,

// _KK J {‘.

double *b,

// % L .

int n,

// % ! {‘.

double eps,

// ! Q ;.

double *x,

// I J.

double K

// _KK .

);

; C ( ,

C) R>>

: 0,5 ; 0,75 ; 0,9 ; 1 ; 0,1 ; 0,25, ; 1,5.

133

- .

void _tmain()

{

int n;

// % ! {‘.

int iter;

// L.

double **a;

// _KK J {‘.

double **a1;

// _KK J {‘ ( K).

double *b;

// % L .

double *b1;

// % L ( K).

double *x;

// I J.

double eps;

// Q J L.

double Kr;

// _KK .

double range_min = -300.0;

// Q JL _KK {‘.

double range_max = 300.0;

// Q JL _KK {‘.

//k(v † R{ "j" v zr( ! % ! {‘

//J L.

//k(v † R{ "j" v zr( ! J! %.

//k(v † R{ "j" v zr( K _KK {‘

//% L % QI ! L J

//(K a b).

//J % Q; ! Q J _KK J {‘

//! K % 9 Q % ! L J.

for (i=0; i< n; i++) a[i][i] *= 100.0;

cout << "\n" ! " << endl;

//Q J a. PutMatrix(a, n);

//w ; % k L! :.

iter = Zeidel (a, b, n, eps, x, Kr);

//J !. cout << endl;

cout << "\nwvjvR"v: L: " << iter; cout << ", I ! Q: " << eps << endl;

cout << "===========================================" cout << endl;

cout << "\nw ; {‘: ( X)" << endl;

//Q x.

134

PutVector(x, n);

cout << endl;

cout << "" ! JL % L {‘:" ; cout << endl;

//Q b PutVector(b, n);

//Q: % J% 9

//_KK {‘ L! JL I J. MatrMultVect(a, x, n, b1);

cout << " % L {‘ ""; cout << " (( % ; a*x)"; cout << endl;

//Q b1.

PutVector(b1, n);

system("pause");

}

. , :-` R-

, -

.

11.3.( *( 641(. - , +E(34

1.- n ;@7.

2.R>> ;@7,

.

3.H C ;@7 :.

4.D C.

5.H C ;@7 :-` -

R>> (0,5; 0,75; 0,9; 1; 1,1; 1,25; 1,5).

6.- C ( -

, C -

) R>> -

.

135

11.4. -E(6+ , (*- 2+ ,j (3D-3+

. :

1);

2)> cpp h;

3)R A A -

.

--

. - R -

, A.

( 3 (./ 4- 6(1 ( 4

1.= C ;@7 :-`.

2.! ?

3.! ?

4.! C ?

136

12. 12. 12.

!% ! ( 1 ( ( !% ! ( 1 ( (

12.1. %-./ +E(34

G A :

1);

2);

3)> qsort;

4)>

bsearch.

12.2.-( -3,D- ,- 6-*- ,

; R , AB

R

- . e, , -

A R. D, ,

4, 9, 7, 6, 2, 3

R-

. D

2, 3, 4, 6, 7, 9.

V A

. D R

, -.

137

( 3, (6 + >-3(*(> 1 >(0( 64E( +

D C R>> -

. D -

A :

1.D R, -

R B ,

. D , - C R .

2.D R, -

R B ,

.

3.A , -

R, B R.

D B 6 R, -

. 12.1.

2 12.1 D

P

4

9

7

6

2

3

+ 1.

2

9

7

6

4

3

+ 2.

2

3

7

6

4

9

+ 3.

2

3

4

6

7

9

+ 4.

2

3

4

6

7

9

 

 

 

 

 

 

 

( 3, (6 + >-3(*(> 1- - 3+ (6 , ( -* ,B k.->- 3(6 >+ ,6+ (>-3(* 1:)4 / +)

. R -

. D R , R

C ( A) ( -

A). D R -

. - :

A A.

138

#

D A (C) -

B -, R, , B R C

AB, A . 2 ,

C R B

. 2 « » -

– , -

. = R « -

». e AB R-

, ,

R ( , C , ). D n-1 .

Q, AB A,

12.1.

, 3, 0 12.1. #: ;, Bubble

//////////////////////////////////////////////////////////

//J% ! % IJ Q a I n

//_ % I :.

void Bubble(int *a, int n)

{

int i, j;

 

 

for(i = 0; i<n; i++)

//

 

{

//

_ .

for (j=n-1; j>i; j--) // % L .

{

//e L, (j-1)-JL _

//! :e.

if (a[j-1] > a[j])

{

//k(v † % ; !, :e L

//! 9 _

//j-1 j.

}

}

}

}

139

D A

. 12.1.

H. 12.1. D A

#

; A B A,

B R , R

C .

$ , &

7 . 2

C B: ,

C.

H A, - -

C . 4 , R

, . . -

( ,

). P . 12.1 , -

-

C. =, C A-

140

> ,

- R. f ,

.

-5 - - ( 3, (6 +

4 C C

. 2, A

,

, A -

A: C A. 2 , 2 3 4 5 6 1 -

A, -

6 1 2 3 4 5 5 .

e R>>,

AB . P

( ),

( ). ! , -

,

, R. 2 R . 4

«C – ». - 12.2 >

AB C- .

, 3, 0 12.2. #: ;, Shacker

//////////////////////////////////////////////////////////

//J% ; L- ,

//e I n _ , % I :.

void Shacker(int *a, int n)

{

int j;

int left = 1; int right = n-1; int last = n-1;

//r L ! % %, J J

//I J I % .

while(left < right)

{

// ! % .

for (j = right; j > left; j--)

Соседние файлы в папке Examination_IT