-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gauss-Seidel-NxN.txt
57 lines (53 loc) · 3.75 KB
/
Gauss-Seidel-NxN.txt
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
#include <stdio.h>
#define rozmiar 4 //trzeba manualnie zmieniać rozmiar dla n elementowej macierzy
int main(){
int i,j,k;
double d;
double macierz[rozmiar][rozmiar] = {};
double rownosci[rozmiar] = {};
char argumenty[] = {'x','y','z','w','v','u','t','s','r','q'};
double x[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
//////////////////////////////////////////////////////////////////////////////
//
for(i = 0; i < rozmiar; i++){ //
printf("\n"); //
for(j = 0; j < rozmiar; j++){ //
printf("podaj liczbe w macierzy na pozycji %d %d: ", i, j); //
scanf("%lf", &macierz[i][j]);}} //
// Tworzenie Macierzy z Rownosciami
//
for(i = 0; i < rozmiar; i++){ //
printf("\n podaj czemu jest rowny wiersz macierzy nr %d: ", i+1); //
scanf("%lf", &rownosci[i]);} //
//
//////////////////////////////////////////////////////////////////////////////
//
printf("\n\n\n Twoja macierz wyglada tak: \n\n"); //
for(i = 0; i < rozmiar; i++){ //
printf(" %c", argumenty[i]);} //
//
for(i = 0; i < rozmiar; i++){ // Wyswietlanie Macierzy
printf("\n "); //
for(j = 0; j < rozmiar; j++){ //
printf("[%d]", (int)(macierz[i][j]));} //
printf(" = [%d]", (int)(rownosci[i]));} //
//
//////////////////////////////////////////////////////////////////////////////
//
for(i = 0; i < 50; i++){ // << liczba iteracji //
for(j = 0; j < rozmiar; j++){ //
d = rownosci[j]; //
for(k = 0; k < rozmiar; k++){ // Metoda Gaussa Seidela
if(j != k){ //
d -= macierz[j][k] * x[k];} //
x[j] = d / macierz[j][j];}}} //
//
//////////////////////////////////////////////////////////////////////////////
//
printf("\n\n wyniki tej macierzy to: \n\n"); //
for(i = 0; i < rozmiar; i++) // Wyswietlanie Whnikow
printf(" %c = %lf\n", argumenty[i],x[i]); //
//
//////////////////////////////////////////////////////////////////////////////
return 0;
}