Loading...
athanatos avatar athanatos 4 Точки

Дава ми 80/100 за тази зачада 11. Equal Sums - Chapter: Arrays - Exercises ???

Здравейте,

дава ми 80/100 на 11та задача:

https://softuni.bg/downloads/svn/soft-tech/May-2016/Programming-Fundamentals-May-2016/03.%20Programming-Fundamentals-Arrays/03.%20Programming-Fundamentals-Arrays-Exercises.docx 

наясно съм с решението с 3 for-loop-a, първият движи индекса, а другите два- лява и дясна сума, но бих искал да намеря грешката на това решение:

https://pastebin.com/NfUbUwQ4

Ще съм много благодарен за съвет.

Тагове:
0
Programming Fundamentals
Vesso1980 avatar Vesso1980 486 Точки

Една, грешка, която се забелязва, е че ти първоначално задаваш на сумата от лявата ти страна sumFirst да е равна на първия елемент от смисъка, дясната страна sumReverse да е равна на последния елемент. Но какво става ако подадем вход "1 0". Програмта изписва "no", като резултат, а би трябвало да изпише 0, защото на индекс 0 имаме 1, от ляво на 1 няма нищо следователно го приемаме за 0 (по условие), а от дясно на 1 имаме 0 и се получава равна сум на елементите. Та според мен програмата по този начин не хваща вариантите, в които от ляво и или от дясно на числото няма нищо.

1
Quake3 avatar Quake3 546 Точки

Проверката: 

if (sumFirst == sumReverse)...

не трябва да бъде в цикъла с j, защото ще излезеш преди да си сумирал всички числа в дясно от i.

0
Vesso1980 avatar Vesso1980 486 Точки

Това е най-простото решение за което се сещам - https://pastebin.com/brV9Ft5Z

0
Quake3 avatar Quake3 546 Точки

Винаги избягвам да започвам цикъл от 1. Почти винаги, когато съм правил това, в крайна сметка, е било грешка:) 

Този ред от условието ме накара, да помисля, че всъщност, трябва да отпечатваме 0, когато сумите са нули, тоест отпечатваме индекса.

1	0	At a[0] -> left sum = 0, right sum = 0

Променен код.

0
athanatos avatar athanatos 4 Точки

благодаря много за отговорите на Vesso1980 и  Quake3.

Явно подходът ми е грешен.

Успех!

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