Професионална програма
Loading...
+ Нов въпрос
Dimitar_Petkov_Petkov avatar Dimitar_Petkov_Petkov 169 Точки

04. Named Operations входни данни

Колеги, помощ! Опитах какво ли не но на 4 задача ми излизат за верни само Zero Test 1, Zero Test 2, Test#1 и Тест#2. Опитах какви ли не входни данни но не и не. Дайте идея какви входни дании да въведа да намеря проблема. Благодаря!

Тагове:
0
C++ Programming
georgi.stef.georgiev avatar georgi.stef.georgiev 921 Точки

Пробвай да тестваш всяка една от функциите, които си имплементирал поотделно, за да видиш дали имплементациите ти са верни. Примерно пробвай:

1 2 3 18
1
avg 1
avg 0 4
end

Expected: 6 (1 + 2 + 3 + 18 = 24; 24 / 4 = 6)

След това пробвай всяка една от функциите с по 1 елемент дали работи. Примерно average на X си е X.

След това пробвай с комбинации от две функции - виж дали някои от функциите ти не променят реда на масива с входните данни (hint: не е нужно да сортираш един масив за да му намериш най-малкия или най-големия елемент, има си съвсем обикновен алгоритъм, който го прави само с един for цикъл - той, освен че няма да ти разбърка данните, работи значително по-бързо).

За която и да е задача, когато тестваш, винаги тествай изолирано отделните компоненти на решението. Даже можеш да си направиш примерно testAverage, testSum, testMin, testMax функции (както правихме на едното упражнение), за да се увериш, че ти работят вярно поотделно. Същото и за начина, по който определяш коя функция да викаш.

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

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

Поздрави,

Жоро

 

0
Dimitar_Petkov_Petkov avatar Dimitar_Petkov_Petkov 169 Точки

Оххххх, ей така падат совалки ! Благодаря Жоро!

0
georgi.stef.georgiev avatar georgi.stef.georgiev 921 Точки

Хахаха падат совалки вика :D. Да, то веднъж наистина беше се разбил един кораб на Марс заради грешка в преобръщането от ярдове в метри или нещо такова :D

0
Dimitar_Petkov_Petkov avatar Dimitar_Petkov_Petkov 169 Точки

И не само, Тойота бяха омазали стека на един от моделите си и вместо да спре при нарисната спирачка се ускоряваше, дори и жертви имаше. От ей такива аборигени :)

0
Wanker avatar Wanker 15 Точки

За да не отварям нова тема - не ми излизат Тест №4 и Тест №5. Тествах си фунциите поотделно, както Жоро посъветва(дори поразучих и Google Test framework-a да вкарам малко unit testing :)), проверих дали не трябва long когато сумираме, тествах входен масив с нули и други неща. Вече не знам какво може да е. Ще се радвам, ако Жоро даде насока. Благодаря!

0
23/03/2017 00:00:55
Dimitar_Petkov_Petkov avatar Dimitar_Petkov_Petkov 169 Точки

Здравей, а само с едно число вместо масив ?

1
Wanker avatar Wanker 15 Точки

Както ти каза, космическият кораб се разби и при мен :Д. Косвено ми помогна - след като видях, че при викане на мин и макс фунциите с масив от 1 елемент не ми гърми дори когато подавам невалидни end индекси, ми светна. Вместо между start и end индекси, съм проверявал целия масив с range for loop. Мерси, колега!

0
22/03/2017 17:35:47
Dimitar_Petkov_Petkov avatar Dimitar_Petkov_Petkov 169 Точки

Моля, браво на теб, че си намрил проблема. Какъв е кеф да видиш всичките зелени чавки :)

0