MN_Lab5.py

MN_Lab5.py
def simpleGauss(tab: int):
    size = len(tab)
    for g in range(size-1):
        for i in range(g+1, size):
            m = tab[i][g]/tab[g][g]
            for j in range(size+1):
                if m != 0:
                    tab[i][j] -= tab[g][j]*m
    for j in tab:
        print(j)
    print()

    x = [0 for x in range(size)]
    x[size-1] = round(tab[i][size]/tab[size-1][size-1], 5)
    for i in range(size-2, -1, -1):
        SUM = tab[i][size]
        for k in range(i+1, size):
            SUM -= tab[i][k]*x[k]
        SUM /= tab[i][i]
        x[i] = round(SUM, 5)
    print(x)


if __name__ == '__main__':
    f = open('RURL_dane2.txt', 'r')
    for i, line in enumerate(f):
        if i == 0:
            size = int(line[0])
            tab = [[0 for x in range(size+1)] for y in range(size)]
        else:
            for j in range(len(line.split())):
                tab[i-1][j] = float(line.split()[j])

    f.close()
simpleGauss(tab)