Loading...
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

[Homework] C# Basics - Console Input/Output

Лекцията може да не е минала, но щом ни пуснаха домашното трябва да го налазваме - ще е полезна темата за тези, които са имали повечко време и са стигнали до тук и са си прочели презентацията.

1. Sum of 3 Integers (Уж integers, а пък в примерите дробни числа.. тогава и ние няма да се ограничаваме до целочислени)

2. Print Company Information (правя всички телефонни номера стрингове, защото не знаем в какъв формат евентуално биха ни ги подали)

3. Circle Perimeter And Area (решение от Lyubo)

4. Number Comparer

5. Formatting Numbers (решение от Lyubo)

6. Quadratic Equation (решение от Lyubo)

7. Sum of 5 Numbers (не мога да измисля по-лесно решение в момента)

8. Numbers from 1 to n

9. Sum of N Numbers

10. Fibonacci Numbers

11. Numbers in interval dividable by given number (може да се оптимизира като се намери първият търсен елемент и после се прескача през 5 и още 1-2 проверки)

12. //TODO

52
Programming Basics 07/10/2014 21:34:09
ivaylo.yanchev.5 avatar ivaylo.yanchev.5 80 Точки

Както са зададени примерите на 6-та задача за квадратното уравнение, мисля, че трябва да се прихванат и възможностите всеки от коефициентите да е 0, защото ще дава неверни резултати.

 

На 12-та задача, продължавам да виждам джуджето (О) на предпоследния ред (вместо на последния), в момента, в който го преместя максимално надясно. Как да го оправя това?

0
Darko avatar Darko 82 Точки

Можеш да чийтнеш, да дадеш широчината на 61 и да сложиш ограничението за максимално дясно на 59-dwarf.ch.length, за по добро решение ще помисля, но в момента се опитвам да решавам изпитните задачи на телерик

0
tinta avatar tinta 4 Точки

Отн. 6-та задача: Не трябва ли само "а" да се ограничи (само тя присъства като делител...).

 

0
ivaylo.yanchev.5 avatar ivaylo.yanchev.5 80 Точки

Според мен не! Например:

- ако само а=0, уравнението е линейно - имаме 1 корен, не два

- ако а и b са 0, 0*x = c - няма реални корени

- ако a, b и c са 0 - 0*x=0 - всички реални числа са корени

0
Aluin avatar Aluin 76 Точки

http://pastebin.com/yDzKUqBf

11 задача, по оптимизиран вариант.. Само ако някой му се занимава да махне запетайката след последното число, ще е супер :)

1
ViValDam avatar ViValDam 15 Точки

12 задача   "Falling Rocks" 

Линк към кода:

http://pastebin.com/s4XVCJig

 

Screenshot :

http://prikachi.com/images.php?images/583/7212583q.jpg

 

Ако някой иска да я пробва , най-добре да сложи за фон Blue , като прибави този ред към кода

 

Console.BackgroundColor = ConsoleColor.Blue;

Не съм го прибавила в играта , защото аз ползвам настройките вградени в самата конзола

А за фонт ,най-добре изглежда с

Font:

Lucida Console -

Bold

 

Размера си го изберете сами !

Приятна игра !

0
AdriyanMihaylov avatar AdriyanMihaylov 25 Точки

Здравейте,във 2-ра задача не искат ли, когато не се въведе Fax Number да извежда : Fax:  (No Fax) . 
Това е и моето решение: 
2.Print Company Information

2
ViValDam avatar ViValDam 15 Точки
Да , искат !
2
Neli_Iordanowa avatar Neli_Iordanowa 5 Точки

Eто и моят вариант, когато не се въведе Fax Number да извежда : Fax:  (No Fax) .

if (string.IsNullOrEmpty(companyFaxNumber))
        {
            companyFaxNumber = "(no fax)";            
        }

1
verito898 avatar verito898 265 Точки

Е добре де хора  на тази задача:

Problem 9.  Sum of n Numbers

Това ми е кода ( сори ,че го качвам тук , но не е дълъг така или иначе )  - та къде му е проблема ?

using System;

class SumOfNNumbers
{
static void Main()
{
int numbersInput = int.Parse(Console.ReadLine());
int sum = numbersInput;
for (int i = 0; i < numbersInput; i++)
{
int numbers = int.Parse(Console.ReadLine());
sum +=numbers;
Console.WriteLine(sum);
}

}
}

 

 

0
HPetrov avatar HPetrov 822 Точки

Като инициализираш променлива "sum" не ти трябва различна първоначална стойност от "0".

1
Bojidar_At avatar Bojidar_At 6 Точки

Да, променливата "sum" я инициализирай с 0.

и извади Console.Writeline(sum) от цикъла.

 

Или иначе казано:

 

using System;

class SumOfNNumbers
{
static void Main()
{
int numbersInput = int.Parse(Console.ReadLine());
int sum = 0;
for (int i = 0; i < numbersInput; i++)
{
int numbers = int.Parse(Console.ReadLine());
sum += numbers;

}
Console.WriteLine(sum);
}
}

1
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Ето и моето решение на 5-та задача:

5. Formatting Numbers

Досега не видях в темата някой да е използвал този начин за проверка дали float point числото е "цяло" или има десетична запетая. Някои голеги са използвали Math.Round (b, 2), но като го пробвах и въведа в конзолата 11.6 като резултат пак си излиза толкова вместо 11.60

Console.Write(% 1 == 0 ? "|{0,10}" : "|{0,10:F2}", b);

0
verito898 avatar verito898 265 Точки

Колеги имам нов проблем със задачата Fibonacci Numbers . Самата логика ми е вярна така като гледам  ,но в условието се иска  да се пресметнат от 0 до N .В моя код обаче ако N =3 ми отпечатва следните числа : 0 1 1 2 3 5 ;  пробвах и с условието в for цикъла да е i< n-2 .Ще се радвам ако някой ми обясни къде бъркам  .

Ако N = 10 отпечатва някакви космически числа : 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 .. А ето това ми е кода :

int n = int.Parse(Console.ReadLine());
        int firstNumber=0;
        int secondNumber=1;
            for (int i = 0; i < n ; i++)
            {

                Console.Write("{0} {1} ", firstNumber, secondNumber);
                firstNumber = firstNumber + secondNumber;  
                secondNumber = secondNumber + firstNumber;
            }
            Console.WriteLine();

Пс : Знам ,че е хубаво да се качват кодовете на друго място , а не направо тук,но не мисля ,че е чааак толкова голям .innocent

0
Filkolev avatar Filkolev 4482 Точки

Пусни го през дебъгера и вероятно ще видиш какво се случва. На всяка стъпка печаташ по две числа вместо по едно.

Ето и моето решение; не е изчистено, но върши работа. Първо пускам проверка с три условия: 1) ако n = 1, 2) ако n = 2; 3) n > 2. В третия случай първо изписвам първите две числа и след това вече пускам цикъла, за да принтира по едно число за завъртане.

P.S. Така като гледам обаче ще е добре да сложим long, защото доста бързо растат числата.

1
mihayloff14 avatar mihayloff14 824 Точки

Кодът ти има два проблема:

1. Не трябва да изписваш и двете числа на всяка стъпка от цикъла, а само едното (в случая secondNumber), а преди да почнеш цикъла принтираш firstNumber, за да го има първото число от поредицата (0). Забележи, че в твоя случай числата, които се изписват на конзолата не са n на брой, a n*2 на брой.

2. Не променяш правилно числата по време на цикъл. Вариант за решението е да използваш 3-та променлива на принципа 

c = a;
a = b;
b = c;

Поиграх си малко с кода ти и ето какво измислих:

int n = int.Parse(Console.ReadLine());
int firstNumber = 0;
int secondNumber = 1;
Console.Write(firstNumber + " ");
for (int i = 1; i < n; i++)
{

    Console.Write("{0} ", secondNumber);
    int temp = secondNumber;
    secondNumber = secondNumber + firstNumber;
    firstNumber = temp;
}
Console.WriteLine();

1
verito898 avatar verito898 265 Точки

Благодаря много за бързите отговори ,иначе не използвам много много този дебъгер , но явно ще ми се наложи

0
a.angelov avatar a.angelov 1316 Точки

Здравейте,

Ето и моите решения на домашното /без 12 задача/, включително и изпитните задачи включени в него:

01. SumOf3Numbers

02. Print Company Information

03. Circle Perimeter And Area

04. Number Comparer

05. Formatting Numbers

06. QuadraticEquation

07. Sum of 5 Numbers

08. Numbers From 1 To N

09. Sum Of N Numbers

10. Fibonacci Numbers

11. Numbers In Interval Dividable By Given Number

 

Изпитните задачи:

13. Work Hours

14. Sum Of Elements

15. New House

16. Magic Strings

17. Catch The Bits

0
mihayloff14 avatar mihayloff14 824 Точки

Моите решения:

GitHub

Специално за играта Falling Rocks, направих "лична версия", добавяйки разни бонуси и т.н. Написах статия по случая с подробни обяснения. Който е заинтересуван, може да хвърли едно око. smile

ЛИНК

4
milkokochev avatar milkokochev 10 Точки

Здравейте,

разгледах доста от решенията, но не видях никои да изписва "(no Fax)" при липсващия номмер на факса в задача №2?

Мисля че след като го има в примера би трябвало да се изкарва така.

Ако някой го правил, може да сподели как точно прави проверката....

 

мисля че се ориантирах - http://pastebin.com/sxYLLXMs

0
a.angelov avatar a.angelov 1316 Точки

Погледни моето решение малко по-нагоре, при липса на номер на факс изписва no fax ;)

Проверката правя така:
if (string.IsNullOrEmpty(faxNumber) == false)
{
Console.WriteLine("Fax: {0}", faxNumber);
}
else
{
Console.WriteLine("Fax: (no fax)");
}

 

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

0
mihayloff14 avatar mihayloff14 824 Точки

Просто проверяваш чрез if-statement дали съответния string е с дължина < 1 (примерно).

В такъв случай string-а получава стойност (no fax)

0
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Или може да го направиш така:

Console.WriteLine("Fax: {0}", String.IsNullOrEmpty(companyFaxNumber) ? "(no fax)" : companyFaxNumber);

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