Untitled
unknown
plain_text
2 years ago
1.9 kB
10
Indexable
def wyswietl_macierz(macierz, n):
for i in range(n):
print(*macierz[i])
def wykonaj_operacje(macierz, n):
i, j, k, c, flag, m, pro = 0, 0, 0, 0, 0, 0, 0
for i in range(n):
if all(macierz[i][j] == 0 for j in range(n)) and macierz[i][n] != 0:
# Wszystkie zmienne x, y, z, ..., w są równe zero, ale wynik jest różny od zera
return 3
for i in range(n):
if (macierz[i][i] == 0):
c = 1
while ((i + c) < n and macierz[i + c][i] == 0):
c += 1
if ((i + c) == n):
flag = 1
break
j = i
for k in range(1 + n):
temp = macierz[j][k]
macierz[j][k] = macierz[j+c][k]
macierz[j+c][k] = temp
for j in range(n):
if (i != j):
p = macierz[j][i] / macierz[i][i]
k = 0
for k in range(n + 1):
macierz[j][k] = macierz[j][k] - (macierz[i][k]) * p
return flag
def wyswietl_wynik(macierz, n, flag):
print("Wynik: ")
if (flag == 2):
print("Istnieje nieskończoność rozwiązań")
elif (flag == 3):
print("Brak rozwiązania")
else:
for i in range(n):
print(macierz[i][n] / macierz[i][i], end=" ")
def sprawdz_konsekwencje(macierz, n, flag):
flag = 3
for i in range(n):
suma = 0
for j in range(n):
suma = suma + macierz[i][j]
if (suma == macierz[i][j]):
flag = 2
return flag
S
macierz_Rozszerzona = [[0, 0, 0, 0, -3], [0,0,0,0,0], [0, 0, 0,0, 0], [0, 0, 0, 0, 0]]
rozmiar = 4
flaga = 0
flaga = wykonaj_operacje(macierz_Rozszerzona, rozmiar)
if (flaga == 1):
flaga = sprawdz_konsekwencje(macierz_Rozszerzona, rozmiar, flaga)
wyswietl_wynik(macierz_Rozszerzona, rozmiar, flaga)
Editor is loading...
Leave a Comment