C# Part 2 - Multidimensional Arrays Homework


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



Отговори



0

BinarySearch(arr[], K). Правилно ли го разбирам - обръща целия сортиран масив и намира числото, което е по-малко или равно на K. Стига да го има. Ако го няма, връща отрицателно число.Тук ми дава OutOfBounds:

http://pastebin.com/AD7DeumA


от Bruno (921 точки)


1
OutOfBounds, защото както се досещаш, ако няма елемент - не връща правилната(поради липсата на такава) позиция. Ти проверяваш единствено за наличие на елемента K. Направи проверка след като присвоиш нещо на target. В нов цикъл започни да намаляш k, като паралелно с това присвояваш на target новите индекси, които се получават. Ако стане положителен индекса - БИНГО, ето ти го най-близкото число до К

от Pip3r4o (3392 точки)

0

Малко ми се поизясни. Като не може да намери елемента, който търси, връща отрицателно число. И цикъла има за цел да намаля K, докато попадне на число, което всъщност е част от масива и което, разбира се, си има позиция. Ама тук нищо не ми изписва:

http://pastebin.com/MPDiN6wt

Защо така? Не трябва ли да ми каже - "6 е числото, което търсиш, на позиция еди-коя си."


от Bruno (921 точки)



1

Ето и моят принос - Цък!

Всички задачи.


от todorm85 (1347 точки)


1
Май нещо не си правилно разбрал условието на задача 1, погледни го отново. Числата не са Random, имат си последователност.

от Bizuuu (95 точки)

0
Вярно, съвсем съм го пропуснал, благодаря.

от todorm85 (1347 точки)


0
Finally! My solution

от dchakov (861 точки)


0
Ето едно домашно и от мен :-) --> цък

от hmnikolova (90 точки)


1

Някой може ли да ми каже каква проверка да си направя за да хвана и втория тест - така (недо)написано ми търси само най-голяма повтаряемост а не поредица.

линк




0

Мисля, че ти липсва проверка за row + 1 и col - 1 (другия диагонал) но не мисля, че това е проблема за втория тест точно.

Проблема за втория тест е, че не проверяваш за съвпадения в последния ред и колона, защото циклите са до row < matrix.GetLength(0) - 1 и col < matrix.GetLength(1) - 1.

Според мен трябва да си въртиш до последния ред и колона, а да проверяваш дали няма да се опиташ да сравниш с елемент извън масива по-надолу из кода.


от Mirka (1454 точки)


1

Исках да обърна внимание на условието на 3-та задача. Казано е, че трябва да се проверят съседите по ред, по колона и по диагонал. В началото се подведох по примера и направих само за диагоналите от ляво на дясно. 

После се сетих, че трябва и за другите да се направи. Прегледах няколко решения, за да се уверя, но не забелязах да е направено и за двете посоки.

Аз ли не разбирам условието, или?


от Mirka (1454 точки)


2

Права си, че диагоналите са два.

По-голямата част от решенията (вкл. и моето) са направени само за диагонала надясно. Не мисля, че има значение колко диагонала проверяваш, при условие, че домашните са за упражнение и главната цел е да се научиш на нови неща. Ако си съумяла да напишеш десен диагонал, то по всяка вероятност ще направиш и ляв. :)


от dentia (12519 точки)

1

Мерси, явно е на собствена преценка! Но то по същата логика, ако си направил за ред, явно можеш и за колона ;)

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


от Mirka (1454 точки)



0
Ето и моите решения, без задачите със звездичка , цък.

от milislavski (886 точки)


1

Здравейте, някой ще може ли да ми обясни какво точно трябва да се направи за 5та задача (), че я чета и нещо не я разбирам какво трябва да я правя ;д. Как по-точно да разбера това да сортирам масив по дължилната на стринг ? Наистина се оплетох, както си личи от поста ми.

P.S. Въздържал съм се да гледам в решенията на колегите (поне за сега, искам сам да се опитам : ) )

Благодаря предварително : )


от tabula (2134 точки)


1

Ето един пример какво трябва да изкарва програмата ти:

Enter a number N (size of array): 5

Enter 5 string(s) to array:
   1: sdkjvle
   2: sknvlksd
   3: sdnmvdn
   4: sdv ,ds.
   5: slkdvmlöd

Before sorting: sdkjvle sknvlksd sdnmvdn sdv ,ds. slkdvmlöd

After sorting: sdkjvle sdnmvdn sknvlksd sdv ,ds. slkdvmlöd

Ако елементи на масива са с еднаква дължина, сортираш ги лексикографски.


от lnikod4s (6538 точки)

1
Леле, то не е било много сложно :д Аз какви чудесии мислех - благодаря колега за точното обяснение : )

от tabula (2134 точки)



0

Ето и моите решения. Отворен съм за съвети. Даже съм жаден за такива :) ЦЪК !


от Gecata (25 точки)


0
Моите решения: MultidimensionalArraysHomework

от petyodelta (15 точки)