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
nikolaykk avatar nikolaykk 94 Точки

Здравейте,

Някой решавал лие от задачите със звездичките?

Ето моите решения.Сеща ли се някой за по-кратък начин за 16 задача, че аз май малко съм се поувлякъл в циклите?  :)

Зад.13 - http://pastebin.com/gkmrbgGh

Зад.14 - http://pastebin.com/tBy845R3

Зад. 15 - http://pastebin.com/DfSYu1xX

Зад.16 - http://pastebin.com/SUVUu2nz

Зад.17 - по-късно ще я кача

0
eleonorakisiova avatar eleonorakisiova 1 Точки

Здравейте! Някой може ли да ми помогне с 8 задача от домашното - Numbers from 1 to n. Въвеждам числатата и като натисна Enter ми дава грешка. 
http://pastebin.com/k0M1wKJJ 

1
mgulubov avatar mgulubov 73 Точки

Логиката е правилна, така че виж как точно въвеждаш input-a. При мен си работи този код.

2
venitoo avatar venitoo 15 Точки

Здравейте,

И аз се чудя - повечето хора цитират това решение, но изискването е всяко число да се отпечатва на нов ред ("each on a single line") - а с този отговор, числата просто се изреждат едно след друго на един ред.

1
venitoo avatar venitoo 15 Точки

Между другото, Ели, в тази задача трябва да се въведе само 1 число в конзолата, може би затова ти дава грешка като искаш да въведеш няколко.

1
GeorgiGeorgiev93 avatar GeorgiGeorgiev93 6 Точки

Хора, на 6-та задача (с квадратното уравнение), някой може ли да ми каже защо във

x1 =((-b) - Math.Sqrt(D)) / (2 * a);

Трябва да се слагат скоби навсякъде? Без да оградя 2*а със скоби, просто не дели...

0
Filkolev avatar Filkolev 4482 Точки

Приоритет на операциите, както в математиката. Умножението и делението са с еднакъв приоритет, следователно се изпълнява първо делението на 2 и след това умножението по а. Ако искаш да спестиш малко скоби може да махнеш тези около -b:

x1 =(-b - Math.Sqrt(D)) / (2 * a);

0
Lamms avatar Lamms 197 Точки

Темата е стара и почти всички линкове към кодове за задачата, която ме интересува, не работят вече.

Някой решавал ли е 17-та задача - Catch the Bits (пета задача от 11.04 вечер). Не ми е напълно ясно авторското решение, така че бих се радвала, ако някой сподели своето /побитово/. 

Аз написах и мое, но не ми е вярно. Не ми вади битовете, както трябва.

0
16/07/2015 20:32:06
evgeniyrachev avatar evgeniyrachev 1 Точки

#10 Fibonacci Numbers

int n = int.Parse(Console.ReadLine());
            if (n == 1) Console.WriteLine(0);
            else
            {
                long first = 0;
                long second = 1;
                Console.Write(first + " ");
                Console.Write(second + " ");
                long third = 0;
                for (int i = 2; i < n; i++)
                {
                    third = first + second;
                    Console.Write(third + " ");
                    first = second;
                    second = third;
                }
            }
        }

0
17/07/2015 17:53:33
NedNikolov avatar NedNikolov 45 Точки

   Здравейте.
 Имам въпрос. Кой от двата начина е по-удобен за ползваме, спрямо Visual Studio:
1. http://pastebin.com/mGHLGmBq
2. http://pastebin.com/fQpp7suP
  В първия случай във if съм вкарал double за намиране на хиксовете, а във втория извън if предрарително съм записал double за намиране на хиксовете. Идеята ми е там, че не е ли по-добре да се пише всичко относно пресмятането не във if-вете, а преди тяхното използване?

1
KatyaMarincheva avatar KatyaMarincheva 572 Точки

Здравей, Недялко,

в ниво Fundamental ще имате курс по Качестен Програмен Код - един от принципите, които се ще изучавате се нарича:

YAGNI = you ain't gonna need it

Важи за редове 13, 14 и 15 в това решение: http://pastebin.com/fQpp7suP

и на трите реда изчисляваш неща, които ползваш после само в 1 от 3 случая - значи няма смисъл да ги изчисляваш толкова рано - you ain't gonna need them  - изчислявай ги само след като установиш, че действително ти трябват.

Първият ти вариант е действително професионално и правилно написан: http://pastebin.com/mGHLGmBq

Катя

 

1
28/08/2015 17:47:34
NedNikolov avatar NedNikolov 45 Точки

Здравей.
  Не се бях замислял над това, че ще изчисли някой от тях без да са нужни, сега разбирам, че по-добрия вариант е да ги вмъквам в if-овете. За в бъдеще ще зная, благодаря.
  

0
Al3xFx avatar Al3xFx 33 Точки

Ето и моето решение на 7-ма задача : http://pastebin.com/26w4RMkK

Много е просто, но работи :)

0
05/09/2015 16:10:25
dracovallis avatar dracovallis 1 Точки

За Sum of Five Numbers измислих малко по съкратен вариант:

http://pastebin.com/8JPr3ecN

0
RoYaL avatar RoYaL Trainer 6849 Точки

Вместо ToArray() направо му извикай Sum() и си готов със сумирането

1
dracovallis avatar dracovallis 1 Точки

Прав си!

Значи най-краткият вариант трябва да бъде това:

http://pastebin.com/Qi6Rb9P3

Ако някой измисли по-кратък, ще го черпя бира! xD

0
abguzov avatar abguzov 1 Точки

Привет !

следният въпрос  :

на задача 6 примерно не пиша след  "if" -а къдрави скоби и пак работи ?

if     (determinant < 0)
       Console.WriteLine("There are no real solutions to the equation");
  else

       Console.WriteLine("x1 = {0}, x2 = {1}", (-b + Math.Sqrt((b * b) - (4 * a * c))) / (2 * a),
                (-b - Math.Sqrt((Math.Pow(b, 2)) - (4 * a * c))) / (2 * a));

каква е разликата?

0
Filkolev avatar Filkolev 4482 Точки

Разликата е, че слагането на къдрави скоби се счита за качествен програмен код, а пропускането им - за некачествен.

Да не говорим за израза, който си набутал в else-a, това е доста нечетимо. На един ред следва да има малък брой операции. Имаш и повторение, смяташ детерминантата няколко пъти, след като вече е сметната по-горе някъде.

0
stela.iv avatar stela.iv 115 Точки

Здравейте!

Едно въпросче относно задача 11, аз вече изпратих домашното с друго решение,но забелязвам че навсякъде в решенията(поне тези които се отварят) се използва for.... трябва ли?

  int first = int.Parse(Console.ReadLine());
  int second = int.Parse(Console.ReadLine());
  int count = (second - first) / 5 + 1;
  Console.WriteLine(count);

това решение работи... Правилно ли е и мога ли да го ползвам, принципно ? smiley

0
02/10/2015 11:25:19
Filkolev avatar Filkolev 4482 Точки

Сигурна ли си, че работи във всички случаи? Ако интервалът не започва и завършва с число, делящо се на 5? Имаме например 6, 7, 8, 9, 10, 11, 12, 13, 14: (14 - 6) / 5 + 1 = 2

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