Loading...
karim.moh16 avatar karim.moh16 3 Точки

6та задача 2018

Само аз ли не схванах как се решава?

Тъй като  не можеш да променяш типа на входа... Или е int n =int.Parse(Console.ReadLine() или string n =Console.ReadLine() 

  • Закупеното количество храна за една котка в килограми – цяло число в интервала [1.00…100.00]
  • На всеки следващ ред ще получавате колко грама изяжда котката на всяко хранене до получаване на команда Adopted - цяло число в интервала [10.00…1000.00]

Изход

На конзолата се отпечатва 1 ред:

  • Ако количеството храна е достатъчно да се отпечата:

    "Food is enough! Leftovers: {останала храна} grams."

  • Ако количеството храна не е достатъчно да се отпечата:

    "Food is not enough. You need {нужно количество храна} grams more."

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

Вход

Изход

Обяснения

4

130

345

400

180

230

120

Adopted

Food is enough! Leftovers: 2595 grams.

Закупеното количество храна е 4 кг = 4 * 1000 = 4000 грама.

Общото количество храна, което е изяла котката преди да бъде осиновена е:

130 + 345 + 400 + 180 + 230 + 120 = 1405 грама. Това количество е по-малко от първоначалното закупено (4000 грама) => остава храна, която е 4000 – 1405 = 2595 грама.

Тагове:
0
Programming Basics 18/06/2018 12:02:06
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

e защо имаш едно число което е кг храна първо ти подават него четеш  и го уможаваш по 1000 да го превърнеш в грамове.

После имаш един while цикъл докато входа ти е различен от Adopted събираш числата които ти дават в една променлива.

Когато излезеш от цикъла вадиш от килограмите/първата променлива - втората/колко яде котката и  в зависимост от резултата печаташ отговора. straight forward e тая задача.Като тази проверка може да се направи с боол примерно

bool enough= givenFood-eatenFood>0 и ако е true да стигнала ако е false ne e стигнала.

0
18/06/2018 05:28:53
karim.moh16 avatar karim.moh16 3 Точки

Ама не можеш да променяш типа на входа... Или е int n =int.Parse(Console.ReadLine() или

string n =Console.ReadLine() 

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

хаха ама ман  int n =int.Parse(Console.ReadLine()  правиш тва и после int n*=1000 и си готов :Д:Д смисъл то това е логично ти четеш входа записваш го в променливата и след това си свободен да правиш каквото искаш. Единственоот immutable нещо в с# е стринга но и с него може да се прави всичко малко по завъртявно е просто.

дали е 4 или 4000 int-a това не го бърка,въпроса е че ти ще работиш в правилната дименсия грамове.

това че си прочел едно число не означава е не можеш да го променяш и тн. на нищо ли не ви учат вече на тея басик курсове wow?!

ето ти го набързо дори без компилатор ще го напиша

int food= int.Parse(Console.ReadLine());

int givenFood=food*1000;

int eatenFood=0;

string input;

while((input=Console.ReadLine())!="Adopted")

{

 int foodPerDay= int.Parse(input);

eatenfood+=foodPerDay;

}

int leftOvers=Math.Abs(givenFood-eatenFood);

string result = givenFood-eatenFood>0 ?$"Food is enough! Leftovers: {leftOvers} grams.":$"Food is not enough. You need {leftOvers} grams more.";

Console.WriteLine(result);

Четеш си входа,превръщаш числото в кг, започваш да четеш дните и количеството храна докато получиш Аdopted като вход. след това правиш сравнението. И накрая един тринарен оператор вместо if else и това е.А math.Abs винаги ти връща положителната стойност на число дори да не ти стигне храна и да получиш -555 грама примерно.math.abs ще ти върне 555 и спокойно си печаташ че не ти достигат 555 грама.

-1
18/06/2018 12:30:51
karim.moh16 avatar karim.moh16 3 Точки

Брат не ме разбра :D аз говоря ппц

 Аз написах :

int kgFood =int.Parse(Console.ReadLine() 

Int gramFoodBought = kgFood * 1000

(И сега трябва да се въведат грамовете изядени от котките и когато се въведат всички стойности трябва да се напишв Adopted и това да сумира и сравни..) Това е ясно ама проблема ми е че ако ще чете от конзолата ИЛИ Само тип Числа ИЛИ Само тип  Стринг (т.е. Текст) и дори да въведа изведнъж текст програмата се чупи...  Въпроса ми е как да направя така че да си въвеждам числа и когато си реша като въведа текст да си го чете... Ако може направо покажи решението на задачата ще съм благодарен

 

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

виж ми предния коментар как съм направил while цикъла и ще разбереш :Д Че се заиграх да ти го напиша и ти си отговорил през това време.Затова се ползват циклите в случай като този. :Д

0
18/06/2018 12:32:24
BoYaN avatar BoYaN 336 Точки

@karim.moh16

От конзолата можеш да прочетеш единствено стринг. След това дали ще го парсваш до нещо друго си е твоя работа, но не знам кой ти е казал, че можеш да четеш нещо друго.

int n =int.Parse(Console.ReadLine()) е същото като
string s =Console.ReadLine()
int n =int.Parse(s)

0
karim.moh16 avatar karim.moh16 3 Точки

бтв братле мерси.. много си печен, много ми помогна (Теодор)

0
27/07/2018 19:51:55
karim.moh16 avatar karim.moh16 3 Точки

да схванах мерси братле мн ( Боян)

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