Adja meg az m x n mátrix elemeit. Írjon egy programot, amely a megadott k Î (-n; n) egész számra:
a) Forgassa el az elemháló mátrixot (pozitív k esetén az egyes sorok elemeit az oszlophálótól jobbra, negatív esetben balra, k = 0 esetén az elemek a helyén maradnak), miközben az utolsó elemet jobbra mozgatja. egyesével ezt az elemet egy bizonyos vonal első helyzetébe mozgatja (hasonlóan, amikor az első elemet balra mozgatja).
c) Az eredeti mátrix összes, a megadott k számmal osztható elemét 0-ra változtatja (visszaállítja).

statikus

BELÉPÉS:
- bemeneti változók: k, m, n, A [MAX] [MAX]
- bemeneti feltétel: 1 = 0
B [i] [j + k] = A [i] [j]
Másképp
B [i] [k + j + n] = A [i] [j]

C:
a/k! = 0: ha A [i] [j]% k) == 0
C [i] [j] = 0
Másképp
C [i] [j] = A [i] [j]
b/k = 0: nem nyomtatja ki a C mátrixot

Lényegében ez a program nagyon érdekes, legalábbis számomra. Viszonylag könnyű betölteni az egyes változókat és a mátrix elemeit is, ahol a függvényt használtam, ezért nem térek vissza rá. Magának a kimeneti mátrixnak a kiszámításakor viszonylag egyszerű matematikai elemzést követtem, és összehasonlítottam a beírt k számot és a mátrix oszlopainak számát. Először a k számot teszteltem 0-val. Ha k nagyobb, mint 0, akkor egy másik döntési blokkot kellett használnom, hogy teszteljem a k és j számok összegét (j a mátrix oszlopának aktuális helyzete). Ennek az összegnek kisebbnek kell lennie, mint a tömb oszlopainak teljes száma. Ezután egyszerűen elkezdtem hozzárendelni az A mátrix elemeit a B mátrix eleméhez, de azzal, hogy a k szám értékét hozzáadtam a B mátrix aktuális oszlopához is (pl .: j + k => 1 + 2 ). Ha a k + j összeg nagyobb vagy egyenlő a mátrix oszlopainak számával, akkor a B mátrix minden eleméhez hozzárendeltünk egy A mátrix elemet, de azzal a különbséggel, hogy hozzáadta a k értéket az aktuális oszlophoz a B. mátrixból vonjuk le az A. mátrix oszlopainak teljes számát.
Ha a k szám értéke 0, akkor a B mátrix minden eleméhez hozzárendeljük az A mátrix egy elemét pontosan ugyanahhoz a pozícióhoz.