Loading...
Finarfin11 avatar Finarfin11 5 Точки

[Exam problems] Fundamentals Of Programming - Задача "Rainbow Raindrop"

Здравейте, от няколко часа се опитвам да реша задача № 2 от изпита на 21.01.2018 - "Rainbow raindrop" - но постигам 85 точки. Единственият грешен отговор е на тест № 1, чийто вход, за съжаление е скрит.

Решението ми е: https://pastebin.com/vKqRiKzK

Условията на  изпитните задачи можете да видите от поста на delian1914 от съседната тема, а конкретно за тази задача е:

https://github.com/delian1986/SoftUni-C-Sharp-repo/blob/master/Fundamentals%20of%20Programming/08.%20MyExamGL/02.%20Rainbow%20Raindrop.docx?raw=true

Моля, ако някой може, да ми каже какъв е тестът, на който дава грешен отговор, или в краен случай, каква ми е грешката в кода.

Весели празници!

 

Тагове:
0
Fundamentals of Programming (with C#) 08/04/2018 14:41:11
Quake3 avatar Quake3 546 Точки
Best Answer

Предполагам, че е късно вече, но за протокола... проблемът е в сортирането. Трябва игнорираш точно един елемент на лууп, тоест след line++; трябва да имаш break;

0
Finarfin11 avatar Finarfin11 5 Точки

Не е късно, благодаря ти. Бях зарязал задачата и щях да питам лектора, когато дайде лаба за масиви. С твоя "break;" и първият тест вече е верен. :)

Чудя се, откъде би могла да идва грешката, когато не прекъсвам вътрешния цикъл при принтиране на ред, и съответно игнорирам повече от една стойности на обема, присвоявайки им максимума за double? Вероятно при първия тест се получава така, че всички стойности в масива на обема стават с double.MaxValue, но цикълът продължава и, тъй като вече минималната стойност в масива съвпада с double.MaxValue, условието се изпълнява и някой от редовете се принтира повторно. Този случай пък ще се избегне, когато прекъснем вътрешния цикъл след всеки разпечатан ред и по този начин се изпълни проверката на външния цикъл.

Така ли е според теб?

1
Quake3 avatar Quake3 546 Точки

Да, точно така е. Дебъг с:

2.0 0 222 0
1.0 0 222 0
End

И ще се види по-ясно.

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