Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият.
Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание.
Използваме бисквитки и за измерване на маркетинговите ни усилия.
Здравейте, имам проблем със същата задача -условието е:
Да се напише програма, която чете n-на брой цели числа, подадени от потребителя, и проверява дали сумата от числата на четни позиции е равна на сумата на числата на нечетни позиции. При равенство да се отпечата "Yes" + сумата; иначе да се отпечата "No" + разликата. Разликата се изчислява по абсолютна стойност. Примери:
вход
изход
коментар
вход
изход
коментар
вход
изход
коментар
4
10
50
60
20
Yes
Sum = 70
10+60 = 50+20 = 70
4
3
5
1
-2
No
Diff = 1
3+1 ≠ 5-2
Diff =
|4-3| = 1
3
5
8
1
No
Diff = 2
5+1 ≠ 8
Diff =
|6-8| = 2
Кода ми е следния: https://pastebin.com/RtAz8PHi
Но конзолата ми връща следния отговор за първия пример:
4
10
No, max diff = 10
PP.Моля да ми кажете и как ога даоценявам вашата помощ (виждам, че има точковастема, но не мога да разбера как да я ползвам)?
Направи цикъла от 0 до < n и мисля, че ще се оправи.
така значи няколко неща едно по едно.
Първо точковата система в judge е автоматична,ако преминеш през всичките проверки с кода си получаваш 100 точки. Иначе ако само частично успееш ще вземеш процент от точките и ще ти покаже при кои тестове грешиш.Това са примерни тестове с числа или поредица от символи тестващи кода.
Сега за твоето решение,значи колегата е прав направила цикъла си грешно. както си го направила. При примерен вход от 4 числа.
Става for(int i=1;i<n;i++) 1 въртене i=2 2ро въртене i=3 и цикъла ти спира.
Ще попиташ защо но така си го направила с i++ показваш на компилатора да увеличи i+1 след като направи завъртането. Затова променяш първо i=0 и i<n и сега завъртаме на ново твоя цикъл с 4 примерни числа. 1во завъртане i=0 число 10 2ro завъртане i=1 число =50 3то завъртане i=2 число =60 4то завъртане i=3<n тук цикъла ти спира i=3 числото =20 и проверяваме числата ти 10+60 равно на =20+ 50 в случая това е така и пишеш "yes" и сумата =70.
Здравейте, промених кода, но отново имам същия проблем.Май нещо не схващам :(
https://pastebin.com/sDcS6h8G
Здравейте,
Малко по-късно отговарям, но коригираният код може да намерите на този линк. Колегите по-горе са прави за контролната променлива в цикъла; когато условието в цикъла е
то тогава проверката е строга. Както в математиката, това означава, че цикълът ще приключи изпълнението си при стойност n - 1 на контролната променлива i, защото строгата проверка изключва крайната стойност (n) в десен интервал. За да коригирате условието в цикъла при начална стойност на контролната променлива i = 1, трябва да итерирате до n (т.е. нестрого условие i <= n). Но това не е основната грешка в кода. Забележете къде извършвате сравнението - в цикъла! Тази проверка трябва да бъде извършена извън него. Най-напред сумирате стойностите на четните и нечетните позиции, и едва след това - извън цикъла - намирате разликата на сумите и сравнявате резултатите.
Кода ти е наред просто смени i с num проверката ... защото в момента примерно имаш n= 4 тоест падават ти 4 числа ти проверяваш 0 1 2 3 дали са четни или нечетни тоест номера на цикъла си.А числото което ти подават го взимаш и не правиш нищо с него. Объркала си просто на коя променлива да правиш проверка. И да затвори цъкала преди да проверяш двете семи на телефона не го видях добре но колегата е прав последната проверка за изписване на резултата се прави извън цикъла като имаш крайните стойности.Но и това е лесно въпрос на преместване на една } скоба