background image

Algorytmika i Programowanie.  

Podstawy języka C++ ze wstępem do programowania dla 

inŜynierów 

Tematyka ćwiczeń laboratoryjnych AiP_Lab10 

dla 2 semestru studiów dziennych  

na Wydziale InŜynierii Lądowej PW 

 

Prowadzący Sławomir Czarnecki 

 
funkcje c.d.  
 
Zad.1. Napisz funkcję rozwiązywania dowolnego układu równań liniowych  
 

(

)

,

,

,

N

N

N

N

M

×

=

A X

B

A

B

X

 

 
metodą eliminacji Gaussa. Deklaracja funkcji powinna być następująca: 
 

void

 Gauss(

double

** a , 

double

* b , 

double

* x , 

int 

N); 

 

gdzie  
 

• 

double

** a    

oznacza daną macierz N 

×

 N układu równań, 

• 

double

* b    

oznacza dany wektor N wymiarowy  

• 

double

* x    

oznacza poszukiwany wektor N wymiarowy 

• 

int

 N   

 

oznacza wymiar układu równań. 

 

Zdefiniuj  następnie  w  programie,  dla  ustalonego  wymiaru  dim  odpowiednią 
macierz  A[dim][  dim],  oraz  wektory  X[dim]  i  B[dim],  które  odpowiednio 
zainicjalizuj  (na  przykład  uŜywając  do  tego  funkcji  pseudo-losowego 
generowania  liczb).  Wywołaj  następnie  funkcję  Gauss(...)  w  celu  znalezienia 
rozwiązania układu równań: A X = B. Wyświetl na ekranie wszystkie wektory i 
macierz A (przed i po wywołaniu funkcji Gauss(...)). 

 

 
 
 
 
 
 
 

background image

Algorytm  metody  eliminacji  Gaussa, zapisany w  pseudokodzie  jest 
następujący: