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

Nested Loops - Lab, 08. Cookie factory , C#

Здравейте,

Може ли малко помощ защо този код не работи:

Задача 8: https://softuni.bg/trainings/resources/officedocument/40409/lab-problem-descriptions-programming-basics-with-csharp-april-2019/2330

Решение: https://pastebin.com/Bdw5pQS9?fbclid=IwAR1VoyIQID-OdKTCrnAEgeMC0Nm7Nr0YMSRJx4uTEOJIw_78zNAM4y10Fhk

Много благодаря

Тагове:
0
Programming Basics
slavkaruseva avatar slavkaruseva 5 Точки

Благодаря, но все още не разбирам, защо моя код не работи..

0
RuNNeR4142 avatar RuNNeR4142 396 Точки

Защо увеличаваш въведените numberOfBatch с 1 във for цикъла?? 

0
slavkaruseva avatar slavkaruseva 5 Точки

Прав си да, махнах увеличаването, но пак само 40 т. ..

1
RuNNeR4142 avatar RuNNeR4142 396 Точки

От готварска гледна точка твоята логика е вярна защото ако добавиш повече от 1 път eggs, sugar or flour няма да се получат бисквитките. Но тука са имали предвид просто да ги има и 3те продукта за което можеш да използваш boolean вместо counter.
Аз сложих 3 пакета захар и пак ми го прие за вярно judge, представяш ли си?
Определено си по добра от него в правенето на бисквитки...

0
luskos avatar luskos 5 Точки

Хич недей да се косиш, тая задача е с объркани входни данни тъй като гледам. При втори вход всяка партида както по условие ако съдържа поне един от изброените продукти трябва трябва да се изпише : "Baking batch number....",  в изхода който са показали на втори вход първата партида съдържа и брашно и яйца и пак изискват да принтираш "The batter should contain flour, eggs and sugar!", а това се принтира само ако сместа не съдържа кой да е от изброените продукти...

 

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

"The batter should contain flour, eggs and sugar!"

 

3

flour - съдържа поне един

eggs - даже съдържа втори

jam

Bake!

sugar - съдържа поне един

Bake!

flour - съдържа поне един

eggs - даже съдържа втори

milk

almonds

sugar - даже съдържа всичките!

Bake!

flour - 1

eggs - 2

sugar - 3

Bake!

 

0
08/06/2019 15:58:35
RuNNeR4142 avatar RuNNeR4142 396 Точки

Извинявай но прочети пак какво си написал, правилно си работи задачата.

0
knoteva avatar knoteva 1081 Точки

"не съдържа поне един от задължителните компоненти" = "не съдържа един, два или три от задължителните компоненти"="не съдържа някой/някои от задължителните компоненти"

0
luskos avatar luskos 5 Точки

Объркан съм, не се ли вади всяка партида като се получи команда Bake! Ако е така мисля че логиката ми е вярна в противен случай си прав 4142

0
slavkaruseva avatar slavkaruseva 5 Точки

Привет,

Поправих няколко неща в логиката, но се добута само до 80 т., явно все още трябва да се пипне някъде, но не се сещам къде.

https://pastebin.com/quybR4dG

0
RuNNeR4142 avatar RuNNeR4142 396 Точки

luskos явно проверяват дали сместа съдържа и 3те продукта преди да я сложат във фурната, ако не - просто ги добавят.

0
10/06/2019 12:55:01
knoteva avatar knoteva 1081 Точки

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

Може да го направиш така:

if (eggCounter == 0 || sugarCounter == 0 || floorCounter == 0)
                    {
                        Console.WriteLine($"The batter should contain flour, eggs and sugar!");

                    }

                    else        {
                        counterOfBatch++;
                        Console.WriteLine($"Baking batch number {counterOfBatch}...");
                        floorCounter = 0;
                        sugarCounter = 0;
                        eggCounter = 0;

                    }

0
RuNNeR4142 avatar RuNNeR4142 396 Точки

slavkaruseva Явно не си обърнала достатъчно внимание на втория ми коментар.
Ти проверяваш дали има точно по една порция от продуктите а трябва да проверим просто дали ги има (1+) или няма (0) така че можеш да смениш проверките != 1 със >= 1 защото се счита за вярно дори и като eggcounter = 5 , sugarCounter = 10 и flourCounter = 15.

if (eggCounter ==  0 || sugarCounter == 0 || floorCounter == 0 ) { не пече } 
else { пече }                 - това също ще свърши работа

0
luskos avatar luskos 5 Точки

Използвай булеви проверки, иначе != 1 хваща само този случай ! Дава 100! Броячите ги прави булеви, преименувай, замести стойностите надолу с true и false! Чисти кода и подреждай! Честито!

0
slavkaruseva avatar slavkaruseva 5 Точки

Супер сте! Много благодаря за помощта :)

1
koceww avatar koceww 4 Точки

https://pastebin.com/NaSZsp6R

Някой , може ли да погледне този код, дава тайм лимит на всички тестове ? 

0
koceww avatar koceww 4 Точки

Благодаря

1
luskos avatar luskos 5 Точки

Не се ли отчитат продуктите партида за партида? Защо прехвърляш продукти от първата във втори вход към втора партида където има само захар? Или условието е сбъркано или входните данни... Според мен не е добре написана задачата. И е малко хаки решението, че да се нагоди. Оставено е доста място за интерпретация...

0
luskos avatar luskos 5 Точки

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

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