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(...)).
Algorytm metody eliminacji Gaussa, zapisany w pseudokodzie jest
następujący: