Loading...
enkeif avatar enkeif 0 Точки

[Homework] Programming Basics - Operators

Odd or Even Integers
Gravitation on the Moon
Divide by 7 and 5
...
1. Как ще проверим дали числото е четно/нечетно и да изведем 0/1 без условна конструкция?
2. Относно другите задачи как ще стане въвеждане на произволно число от конзолата и после да се пресметне гравитацията/лице и т.н.?

Благодаря предварително!

0
Programming Basics 08/03/2015 13:13:17
GalyaGeorgieva avatar GalyaGeorgieva 88 Точки

за зад.1 съм ползвала bool

int n = int.Parse(Console.ReadLine());
bool even = (n%2==0);
Console.WriteLine(even);

по зад. 2 и т.н.

int n = int.Parse(Console.ReadLine()); //(парсваме)това е за въвеждане на число от конзолата.
double gravitMoon = n * 0.17;

Дано съм била полезна.

2
RoYaL avatar RoYaL Trainer 6849 Точки

Днес на лекцията по оператори и изрази зачекнахме четенето от конзолата, повечето от вас вече го бяха потърсили в гугъл.

Четене става с Console.ReadLine(). Превръщането към число става с метода Parse от съответния тип, например int.Parse(Console.ReadLine());

Условна конструкция не ти е нужна, ако просто искаш да изведеш True или False. Един израз от тип boolean ще върне True/False. Когато го пуснеш в конзолата самият булев резултат ще се превърне в стринга True/False.

int n = int.Parse(Console.ReadLine()); // взимаме число от конзолата

Console.WriteLine(n % 2 != 0); // показваме дали е нечетно

 

4
enkeif avatar enkeif 0 Точки

double width = int.Parse(Console.ReadLine()); или double width = double.Parse(Console.ReadLine());
Как да го напиша,за да работи и с реални числа. Пробвах и по двата начина,но и ми дава грешка. Съжалявам за глупавите въпроси cry

0
GalyaGeorgieva avatar GalyaGeorgieva 88 Точки

Начинът е:

double width = double.Parse(Console.ReadLine());

и не би трябвало да ти дава грешка.

1
Alezard avatar Alezard 7 Точки

За да разделиш едновременно на 5 и 7, делиш въведеното от конзолата число на 35 и го сравняваш дали е == 0. Слагаш един булев израз = true и ако е ==0, отпечатваш булевата стойност, ако не - декларираш я като false и нея отпечатваш.

1
08/03/2015 14:40:13
gal4o avatar gal4o 14 Точки

И в добавка: като тестваш програмата не пропускай пробата с 0 - там може да се изненадаш... 

surprised

0
Ifandieva avatar Ifandieva 71 Точки

Щом питаш такива неща, вероятно си по-зле по математика и от мен, което значи, че си много зле по математика :) Не значи, че е невъзможно да се справиш, просто, както и на мен, ще ти бъде по-трудно, отколкото на хората, които са си учили уроците. На мен мен много ми помогнаха Видео решенията на домашните, направени от един от стипендиантите (дано добре съм закачила линка). Открих ги късно и вече бях намерила начин да се справя с повечето решения и въпреки това, научих много неща и най-вече свикнах да мисля, че решенията винаги са по-прости, отколкото недоучилата ми глава си представя, което ме стимулира да търся начин. Успех!

 

 

1
dim.dim avatar dim.dim 1 Точки

Здравейте,

имам проблем със задача  14. Modify a Bit at Given Position.

Понеже се опитах сам да си я реша не знам дали някъде в нета има код като моя, но ми се получи и работи коректно със всички дадени примери за изчисленията, но

на въвеждане число 0, позиция 9, стойност 1 не ми отговаря правилно и пак си ми дава 0 като число след промените.

ето  ми и кода и моля за помощ, :) за да не търся друго решение, че това си ми харесва, ако има нчин да се пооправи :)

 

static void Main()
{
Console.WriteLine("Enter number");

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

Console.WriteLine("Enter position");

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

Console.WriteLine("Enter value");

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

int mask = v << p;
int find = (n & mask) != 0 ? 1 : 0;
if (find > 0)
{
n = n | (1 << p);
}
else
{
n = n & (~(1 << p));
}
Console.WriteLine(n);
}

0
Filkolev avatar Filkolev 4482 Точки

Просто трябва да провериш дали v == 0 или v == 1, mask/find са ти излишни. Сложи в условната конструкция като условие v == 1 и би трябвало да сработи правилно.

1
malkstor avatar malkstor 348 Точки

Гледам че и ти си сметнал тернарния оператор за удобен :)

Най-простото решение, което успях да измисля беше с негова помощ:

Console.WriteLine("Result = {0}", v == 0 ? n & ~(1 << p) : n | 1 << p);

Не ти трябва маска, както вече е споменал Filkolev.

2
dim.dim avatar dim.dim 1 Точки

супер мерси ви :)

 

ето го цялото просто решение if (v ==1)
{

n = n | (1 << p);
}
else
{
n = n & (~(1 << p));
}
Console.WriteLine(n);

 

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