[C# 1] Домашно 04.Console-In-And-Out


2

Добро утро колеги,

Мисля че е време да отврим тема за следващото домашно Console-In-And-Out.

Да използваме уикенда и да се подготвим за новите лекции през следващата седмица :)

Последната задача липсва, защото по нея има вече отделна тема.

С риск че се повтарям -  любезно напомням всички които имат въпроси свързани с Console-In-And-Out да  пишат само в тази тема.




Отговори



2
Това са моите решения. :)

от pepsi_555 (1932 точки)


0
Много благодаря, че така шедро предоставяш решенията си. Аз съм съвсем начинаеща в областта и ми бяха страшно полезни да видя как се правят неща и съответно, как работят! Защото моите никога не работята! хаха! Много благодаря още веднъж. От голяма помощ ми бяха! :-))

от Kumba (15 точки)

0
Здравей, не ми стана ясно ,за принтирането на и-тия член в задачата с числата на Фибоначи. След като го принтираме разбрах, че двата реда memberN=memberNplus1; memeberNplus1= memberNplus2; са за да ни изведат всички числа до н-тия ,но логиката каква е?

 

Console.Write(", {0}", memberNplus2); // prints the i-member of the Fibonacci sequence

memberN = memberNplus1;

memberNplus1 = memberNplus2;

            




1

Здравейте колеги някой може ли да каже защо този код ми дава само 25/100 точки в бункера.

using System;

namespace Company_info
{
    class Program
    {
        static void Main(string[] args)
        {
            string teler = Console.ReadLine();
            string adress = Console.ReadLine();
            string pnumber = Console.ReadLine();
            string fnumber = Console.ReadLine();
            string web =Console.ReadLine();        
            string mfn =Console.ReadLine();
            string mln = Console.ReadLine();
            int age = Convert.ToInt32(Console.ReadLine());
            string mphone = Console.ReadLine();

        

            Console.WriteLine(teler);
            Console.WriteLine("Address: " + adress);
            Console.WriteLine("Tel. " + pnumber);
            if (fnumber == String.Empty)
            {
                fnumber = "Fax: (no fax)";
                Console.WriteLine(fnumber);
            }
            else
            {
                Console.WriteLine(fnumber);
            }
            Console.WriteLine("Web site: " + web);
            Console.WriteLine("Manager: "+mfn+" "+mln+" (age: "+age+", tel. "+mphone+")");
        

        
        }
    }
}


от dafinof (35 точки)


0
 Console.WriteLine(fnumber); ->> Console.WriteLine("Fax: {0}",fnumber);

от dushka.dragoeva (1324 точки)

1
Мерси разбрах какво съм изпуснал.

от dafinof (35 точки)


1
Някой да може да ми даде линк към последната задача?

от Dido_Aint (577 точки)


1

Линк към решението или към условието на задачата ?


от TanyoSotirov (95 точки)

0
първия пост съдържа линк към всички задачи

от dushka.dragoeva (1324 точки)


1

Някой да каже/покаже нещо за 12. Falling rocks ??

По-скоро ако някой я е решил тази задача да каже какви са стъпките за решаване, защото за момента нямам и идея откъде да започна..


от pdimova (256 точки)


1

Може да следваш следните стъпки(естествено може да се реши и по доста други варианти). Ако има нещо неясно питай. При желание мога да предоставя и моето решение :)

1. Изброяваш падащите елементи в някакъв масив, лист или др.

2. Правиш функция за  принтиране на конкретна позиция с координати x , y и символ c, и една за генериране на случаен цвят. (hint -> Console.SetCursorPosition(x, y);)

След това в Main метода:

1. рисуваш Dwarf-чето(x, y, c) и дефинираш променливи за броя животи и броя точки.

2. В един цикъл:

- печаташ на всеки ред случайно разположени по x символи от дефинираната вече колекция.

- Имплементираш движението на dwarf чрез увеличаване на позицията му по x при натискане на съответно лява или дясна стрелка.

- За всеки от редовете камъни проверяваш дали позицията на падащия елемент съвпада с позицията на dwar-чето и съответно намаляваш животите при съвпадение.

- Ако броя на животи достигне 0 - > Console.Clear + Environment.Exit(0)

- Инкрементираш броя точки и сетваш Thread.Sleep


от Juveniel (175 точки)


1
Ето и моите решения тук. Дано съм ви полезен :)

от niks.manov (349 точки)


1
++ едно домашно ;)

от Nayata (3190 точки)


1
ето тук решението което измислих за квадратното уравнение но ми е интересно защо системата дава грешка на този тест нулев тест номер 3 ,макар че системата ми отчита 100/100 
using System; class QuadraticEquation { static void Main(string[] args) { double a = double.Parse(Console.ReadLine()); double b = double.Parse(Console.ReadLine()); double c = double.Parse(Console.ReadLine()); double D = (b * b) -(4 * a * c); if (D > 0) { double x1 = ((-b + (Math.Sqrt(D))) / (2 * a)); double x2 =((-b - (Math.Sqrt(D)))/(2 * a)); if (x1 <= x2) { Console.WriteLine("{0:0.00}", x1); Console.WriteLine("{0:0.00}", x2); } else { Console.WriteLine("{0:0.00}", x2); Console.WriteLine("{0:0.00}", x1); } } else if (D==0) { double x3=(-b / (2 * a)); Console.WriteLine("{0:0.00}", x3); } else { Console.WriteLine("no real roots"); } } }




0
Тяхната подредба се дъни, като слага първо по-голямото х. При мен също е така. 

от Slavka74 (436 точки)

0

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

using System; using System.Globalization; using System.Threading; class QuadraticEquations { static void Main() { Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; double a = double.Parse(Console.ReadLine()); double b = double.Parse(Console.ReadLine()); double c = double.Parse(Console.ReadLine()); double d = b * b - 4 * a * c; if (d > 0) { Console.WriteLine("{0:F}\r\n{1:F}", (-b - Math.Sqrt(d)) / (2 * a), (-b + Math.Sqrt(d)) / (2 * a)); } else if (d == 0) { Console.WriteLine((-b / (2 * a)).ToString("F")); } else { Console.WriteLine("no real roots"); } } }


от orlindraganov (120 точки)



0
http://pastebin.com/WPgqZiUu Това ми е кода за сумата на 5 числа. Връща ми 0/100, някой може ли да каже защо?

от Ivan_Todorov (160 точки)


1
Може би аз нещо не виждам, но съвсем не разбирам какво се опитваш да направиш. Мисля че по-лесният начин ще бъде, ако просто си прочетеш 5-те променливи по този начин   int a = int.Parse(Console.ReadLine()); (за всяка променлива по отделно), след което можеш директно да ги събереш, както си направил, в Console.WriteLine, а можеш и първо да пресметнеш сумата им, след което да принтираш нея. Също внимавай и дали трябва да е int/double/decimal...

Надявам се да съм била от полза.

от pspassova (255 точки)

0
Защото по два пъти приемаш число от конзолата. Отделно всички тези проверки не са нужни тъй като по условие входа е верен. 
// Copy Code Snippet Here using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SumOf5 { class Program { static void Main(string[] args) { int a = int.Parse(Console.ReadLine()); int b = int.Parse(Console.ReadLine()); int c = int.Parse(Console.ReadLine()); int d = int.Parse(Console.ReadLine()); int e = int.Parse(Console.ReadLine()); Console.WriteLine(a + b + c + d + e); } } }

това е твоето решение без излишните неща.

от milislavski (886 точки)



0

Здравейте колеги!

Имам следния въпрос - в БГ Кодер не ми излиза 4 задача. При вас също ли е така?

Прилагам и снимка, за да ме разберете по-добре.

http://dox.bg/files/dw?a=37426321f0


от grozdanova (322 точки)


0

Привет, 

Това е, защото тези задачи не са задължителни и не трябва да ги субмитваме в БГ Кодер.


от BoykoBonev (125 точки)


0

Здравейте колеги,

Някой ще ми каже ли къде бъркам в последната задача(номер 11) понеже в бгкодер получавам само 60/10


            int N = int.Parse(Console.ReadLine());
            int M = int.Parse(Console.ReadLine());
            int count = 0;
            for (N++; N<M;)
            {
                N++;
                if (N % 5 == 0) { count++; }
                   
            }

            Console.WriteLine(count);
        
   




0

Здравей, колега 

структурата на For цикъла ми е малко странна аз бих ползвал стандартната

 for (int i = N+1; i < M; i++)
            {
                if (i%5==0)
                {
                    count++;
                }
            }

сложил съм първата стойост на i=N+1 защото при нулевите тестове ако N=20 не го брои.


от shOOter (122 точки)