Въведете елементите на матрицата m x n. Напишете програма, която за даденото цяло число k Î (-n; n):
а) Завъртете матрицата на окото на елементите (за положително k премества елементите във всеки ред вдясно от мрежите на колоните, за отрицателно вляво, за k = 0 елементите остават на място), докато последният елемент се движи надясно с един ще премести този елемент в първата позиция на тази определена линия (аналогично при преместване на първия елемент вляво.).
в) Променя всички елементи на оригиналната матрица, делими на посочения номер k на 0 (нулира ги).
ВХОД:
- входни променливи: k, m, n, A [MAX] [MAX]
- условие за въвеждане: 1 = 0
B [i] [j + k] = A [i] [j]
В противен случай
B [i] [k + j + n] = A [i] [j]
° С:
a/k! = 0: ако A [i] [j]% k) == 0
C [i] [j] = 0
В противен случай
C [i] [j] = A [i] [j]
b/k = 0: не отпечатва матрицата C
По същество тази програма е много интересна, поне за мен. Сравнително лесно е да се заредят отделни променливи, а също и елементите на матрицата, където използвах функцията, така че няма да се връщам повече към нея. При изчисляването на самата матрица на изхода следвах относително прост математически анализ и сравнение на въведеното число k и броя на колоните на матрицата. Първо, тествах числото k срещу 0. Ако k е по-голямо от 0, тогава трябваше да използвам друг блок за решение, за да тествам сумата от числата k и j (j текуща позиция на колоната на матрицата). Тази сума трябва да бъде по-малка от общия брой колони в масива. След това просто започнах да присвоявам елементите на матрица A на елемента на матрица B, но с факта, че добавих и стойността на числото k към текущата колона на матрица B (например: j + k => 1 + 2) . Ако сумата k + j е по-голяма или равна на броя на колоните на матрицата, тогава на всеки елемент от матрицата B е присвоен елемент от матрицата A, но с тази разлика, че той добавя стойността k към текущата колона на матрицата Б. изместване надясно.
Ако стойността на числото k е 0, тогава на всеки елемент от матрицата B ще бъде присвоен елемент от матрицата A на точно същото положение.