G

Untitled

public
Guest Mar 23, 2025 Never 18
Clone
Plaintext paste1.txt 26 lines (24 loc) | 850 Bytes
1
awk '{
2
n = NF; # liczba elementów (cyfr) w wierszu
3
first = 1; # flaga, czy jest to pierwszy wypisywany składnik
4
for(i = 1; i <= n; i++){
5
coef = $i;
6
exp = n - i + 1;
7
if(coef == 0)
8
continue; # pomijamy zerowe współczynniki
9
10
if(!first) {
11
# dla kolejnych składników dodajemy znak: "+" dla dodatnich lub "-" dla ujemnych
12
printf (coef > 0 ? "+" : "-");
13
} else if(coef < 0) {
14
# dla pierwszego składnika, jeśli jest ujemny, wypisujemy "-"
15
printf "-";
16
}
17
if(coef < 0)
18
coef = -coef; # bierzemy wartość bezwzględną współczynnika
19
20
printf "%d", coef;
21
if(exp > 1)
22
printf "x^%d", exp;
23
first = 0;
24
}
25
printf "\n";
26
}' file.txt