C# Part 2 - Multidimensional Arrays Homework


2
Пускам тема и за второто домашно. Тук са моите решения.



Отговори



1
И аз се включвам - ЦЪК. :)

от lnikod4s (6538 точки)


4
Ето го моя вариант. :)

от dentia (12519 точки)


1
Аз пък пускам видеото :)

от bstaykov (528 точки)


1
Тук са и моите решения на задачите: ЛИНК

от baretata (934 точки)


1

Здравей,

Бях заклила на 2ра задача с диагоналите ( не ми ги обхождаше всичките възможни диагонали и хварлих едно око на твоито решение, но видях че и при теб го има този проблем. Ето накрая какво измъдрих за циклите ако искаш го разгледай .

for (int c = 0; c < matrix.GetLength(1); c++)
        {
            for (int r = 0; r < matrix.GetLength(0) - 1; r++)
            {
                for (int m = r, n = c; m < (matrix.GetLength(0) - 1) && n < (matrix.GetLength(1) - 1); m++, n++)
                {

                    if (matrix[m, n] == matrix[m + 1, n + 1])
                    {
                        counter++;
                    }
                    else
                    {
                        counter = 1;
                    }
                    if (bestLenth < counter)
                    {
                        bestLenthDiagLR = counter;
                        bestSeq = matrix[m, n];

                    }

                }

            }


от dushka.dragoeva (1324 точки)


0

Не че приключих с първото домашно, но реших да хвърля едно око и на второто :)
Още на първа задача Fill The Matrix започнах да буксувам. Настоящият проблем е d) подточка. В момента мисля, че влиза в някакъв безкраен цикъл и при n=4 стига до вкарването на 12 в матрицата, след което по никакъв начин не се връща на col 1 и само си върти :D Ако на някой му се занимава, това е кода:
Problem 1 Fill The Matrix

Ако на някой му се занимава, но по-малко, ще съм благодарна и само на някакви насоки :)
btw c) подточка също е проблемна :)


от shoko (1073 точки)


1

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

Пример:  int countAfterOneFullTour = 0; преди while цикъла

и за проверка в посока на долу 

if (row < n - countAfterOneFullTour - 1)
                    {
                        row++;
                    }

Така за всички посоки.

А в else на посока ляво:

if (col > countAfterOneFullTour + 1)
                    {
                        col--;
                    }
                    else
                    {
                        directionCounter = 1;
                        countAfterOneFullTour++;
                    }

Увеличаваш брояча. 



от TeeeeeC (272 точки)

0
Като цяло се оплетох някъде и я омазах, та май друг път ще трябва да я мисля.
Но ти благодаря за помощта :)

от shoko (1073 точки)



0

Брей! Юнаци! Много сте бързи! :D


от Bruno (921 точки)


1

Здравейте!

Ето ги и моите решения - Цък

Поздрави!




0
Браво, колега! Много хубаво домашно! 1. c) си я направил много хитро и кратко :)

от jumarto (808 точки)

0
Да и на мен на колегата решенията много ми харесват, често използва хитри и семпли начини за решаване, ако трябва да съм откровен ако забия на някоя задача, си помагам с неговите решения понякога :)!



0
Ето, какво съм направил.

от mihaylov (409 точки)


5

Ето едно полезно видео за 6-та задача от домашната - създаване на клас Матрица.Видеото е доста полезно и разяснително, тъй като има доста неща, които не са учени.


от baretata (934 точки)


0
Голямо благодаря, точно за това влязох да питам!

от todorm85 (1347 точки)

0
Голямо благодаря и от мен!

от ttsonev (7 точки)


2

Незнам защо ,но точка (C) от 1-ва задача за попълване на матрицата по диагонал с нарастване ме измъчи доста...

Има няма след 1 час й разказах играта и мирясах .Ако някой също го мъчи Ето кода нагледно написан. Лека на всички


от IvayloAndonov (1994 точки)


0
Благодаря! Доста помогна. :) 

от Davids_kn (148 точки)

0
Евала! Стискам ти ръката!!! Доста помага наистина:)

от alara_kalama (553 точки)