Loading...
StefanVez avatar StefanVez 1 Точки

While-Loop - Exercise 06. Cake

Два дни не мога да го оправя. Дава ми 92/100 и ми гърми само 1вия тест . 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Cake
{
    class Program
    {
        static void Main(string[] args)
        {
            int widht = int.Parse(Console.ReadLine());
            int lenght = int.Parse(Console.ReadLine());
            int totalSize = widht * lenght;
            int currentPieces = 0;
            string pieces = Console .ReadLine ();
            while (currentPieces < totalSize && pieces != "STOP")
            {
                currentPieces = currentPieces + int.Parse(pieces);
                if (currentPieces >= totalSize)
                {
                    Console.WriteLine($"No more cake left! You need {currentPieces - totalSize} pieces more.");
                    break;
                }
                pieces = Console.ReadLine();

                if (pieces == "STOP")
                {
                    Console.WriteLine($"{totalSize - currentPieces} pieces are left.");
                    break;
                }
                
            }

        }
    }
}
 

Тагове:
0
Programming Basics
gkolev_chess avatar gkolev_chess 2 Точки

Какво е условието на задачата?

0
StefanVez avatar StefanVez 1 Точки

1.Торта

Поканени сте на 30-ти рожден ден, на който рожденикът черпи с огромна торта. Той обаче не знае колко парчета могат да си вземат гостите от нея. Вашата задача е да напишете програма, която изчислява броя на парчетата, които гостите са взели, преди тя да свърши. Ще получите размерите на тортата (широчина и дължина – цели числа в интервала [1...1000]) и след това на всеки ред, до получаване на командата "STOP" или докато не свърши тортата, броят на парчетата, които гостите вземат от нея.

Бележка: Едно парче торта е с размер 1х1 см.

Да се отпечата на конзолата един от следните редове:

  • "{брой парчета} pieces are left." - ако стигнете до STOP и не са свършили парчетата торта
  • "No more cake left! You need {брой недостигащи парчета} pieces more."

Примерен вход и изход

Вход

Изход

Обяснения

10

10

20

20

20

20

21

No more cake left! You need 1 pieces more.

Размер на тортата: 10*10 = 100.

Въвеждат се многократно брой парчета които са взети:

20+20+20+20+21=101

Не ни достига едно парче: 101-100=1

10

2

2

4

6

STOP

  1. pieces are left.

 

 

0
RuNNeR4142 avatar RuNNeR4142 396 Точки

while (currentPieces <= totalSize && pieces != "STOP")

if (currentPieces >= totalSize)

Програмата приключва само ако има няколко парчета останали или са нужни няколко парчета.

Без повтаряне на проверките на while ще изглежда по-добре  https://pastebin.com/S5RKr5yU

1
06/07/2019 11:01:16
StefanVez avatar StefanVez 1 Точки

Мерси, фунцията return ми реши проблема. Явно с моя break не става. 

1
RuNNeR4142 avatar RuNNeR4142 396 Точки

С brake трябва да направиш проверка като излезе за да избере правилния изход.
С return си печата и приключва, а след while просто слагаш другият изход.
Малко по-удобно е.

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