Loading...
petkowwa avatar petkowwa 1 Точки

Задачи за C#

зад.1// Да се състави програма, която използва двумерен масив с елементи от тип decimal с размери N x N (N се въвежда от потребителя):

а) функция InitMatrix, която чете от файл наредени тройки числа на всеки ред, разделени от знака tab (\t), като първото е стойността на елемента на масива, а следващите две са неговите индекси. За онези елементи, за които няма стойности във файла, стойността на елемента на масива да е равен на -1.

б) функция PrintMatrix, която отпечатва матрицата ред по ред.

в) функция MultiplyElements, която намира произведението на елементите, които имат поне един четен индекс и са различни от нула.

г) функция CheckIdentity, която проверява дали матрицата е единична (дали всички елементи от главния диагонал са със стойност 1, а останалите са със стойност 0).

зад.2// Да се съставят функции, които намират n-тия член на редицата (n>0), която се образува по следното правило:

Ni = Ni-1 + 2*Ni-2 - 8*Ni-3, когато i>3

N1 = 4/3; N2 = 3; N3 = 4;

а) да се състави интеративен вариант на тази функция.

б) да се състави рекурсивен вариант на тази функция.

Тагове:
0
Programming Basics
willystyle avatar willystyle 2472 Точки
Best Answer

стори ми се интересна 2 задача, предлагам ти решение на JS понеже не ми се настройва на вълна C#, ако все пак не успееш да си ги транспилираш пиши.
 

// iteractively
function solve(n) {
    let n1 = 4 / 3;
    let n2 = 3;
    let n3 = 4;
    if (n === 1) return n1;
    if (n === 2) return n2;
    if (n === 3) return n3;
    let nth = 0;
    for (let i = 4; i <= n; i++) {
        nth = n3 + 2 * n2 - 8 * n1;
        n1 = n2;
        n2 = n3;
        n3 = nth;
    }
    return nth;
}

// recursevely
function solveRecursevely(n) {
    if (n === 1) return 4 / 3;
    if (n === 2) return 3;
    if (n === 3) return 3;
    return solveRecursevely(n - 1) + 2 * solveRecursevely(n - 2) - 8 * solveRecursevely(n - 3);
}

// recursevely with memoization
let solveMemoization = (function () {
    let memo = [NaN, 4/3, 3, 4];
    let solve = function (n) {
        let result = memo[n];
        if (typeof result !== 'number') {
            result = solve(n - 1) + 2 * solve(n - 2) - 8 * solve(n - 3);
            memo[n] = result;
        }
        return result;
    };
    return solve;
}());

// test with 13-th member
console.log(solve(13));
console.log(solveRecursevely(13));
console.log(solveMemoization(13));

btw, рекурсивното решение в случая не е ефективно, за да стане, има нужда от мемоизация (да не пресмята, вече пресметнати членове), но това е ако ви го искат, иначе малко усложнява рекурсията.

PS Ето го и на C# https://pastebin.com/vMtZ9pgM

0
08/01/2020 22:57:21
petkowwa avatar petkowwa 1 Точки

Много благодаря!

1
ThomasMore avatar ThomasMore -19 Точки

You will be stunned at the total you can achieve on the off chance that you give an undistracted 60 an hour and a half to something. Keep focused. This is a basic making standard, yet one that bears emphasizing here: make the body out of a given part or locale and a brief timeframe later come back to the presentations.

By: https://articleoftheweek.com/

0
Savas avatar Savas 38 Точки

Много хубави задачи сте съставили.

0
08/01/2020 18:59:08
petkowwa avatar petkowwa 1 Точки

може ли помощ?

0
Savas avatar Savas 38 Точки

Добре би било да пробвате нещо по решенитето на тези задачи - и когато се сблъскате с някаква трудност, тогава да потърсите помощ - конкретно в това, което ви затруднява. Иначе, така задаен request-а изглежда така: "моля решете ми тези задачи"... а те може би са вече решени и постанти някъде?

ПП
Казвам по-горното с най-добри чувства и без никакво заяждане.
Идеята на тези упражнения(задачи) не е да се намери решение на конкретна задача (защото тези задачи са решавани многоктно и са извън практичен контекст (по принцип))... целта е Вие да успеете да се ориентирате в задачата и да потърсите решение.

 

 

0
08/01/2020 19:58:23
petkowwa avatar petkowwa 1 Точки

Понеже не знам как се случват нещата и просто ми се иска някой да го напише и чрез дебъгване да видя как стъпка по стъпка върви кода.. Не ми трябват за нещо друго, понеже са задачи от минали години на изпит и ако се падне нещо подобно ми се иска да мога да напиша нещо.. 

0
Roberti avatar Roberti 0 Точки

In stressful working hours, your work is too stressful. We always create a sense of comfort for you so you have a relaxing time. You try dinosaur game an extremely fun game. thank you!
 

0
1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.