Loading...
t.kanchev avatar t.kanchev 25 Точки

Здравейте, някой може ли да обясни 9 и 16та задачи. Търсих в msdn и google, намерих и решения - доста, но не можах да разбера самите решения, а целта не е copy-paste.

   

   

    

 for (int i = 2; i < 12; i++)
        {

            Console.WriteLine(i % 2 == 0 ? i : -i);

        }

Примерно не разбирам "i++" от първия ред и стойностите в скобите на реда Console.WriteLine(i % 2 == 0 ? i : -i);

Решението е на Lyubo

0
easlavov avatar easlavov 72 Точки

Здрасти!

for е ключова дума за деклариране на цикъл. Цикълът е код, чието изпълнение се повтаря в зависимост от някакво условие. В конкретния случай той ще се повтаря, докато е налице условието i < 12. Самата променлива i e декларирана в началото със стойност 2. А i++ означава, че всеки път, когато бъде изпълнен кодът в тялото на цикъла, променливата i ще се увеличава с единица.

В самото тяло на цикъла кодът означава следното: ако моментната стойност на i се дели на 2 без остатък (т.е. е четно число), изпиши на конзолата i, в противен случай изпиши -i.

В първата итерация на цикъла i ще има стойност 2. На конзолата ще се изпише 2, защото 2 е четно. Когато изпълнението на кода в тялото приключи, i ще се увеличи с единица (i++). Ще се направи проверка дали i e по-малко от 12. Да, 3 е по-малко от 12, затова отново изпълняваме кода в тялото: този път обаче 3 е нечетно число, затова на конзолата ще се изпише отрицателната му стойност -3. И т.н. Последната итерация на цикъла ще бъде при i = 11, а при i = 12 ще се излезе от цикъла и програмата ще продължи със следващите команди от кода.

11
Lyubo avatar Lyubo 172 Точки

Колегата easlavov ти е обяснил много добре как работи цикълът for, искам да допълня само че в

Console.WriteLine(i % 2 == 0 ? i : -i);

използвам conditional operator, а тук може да разгледаш останалите оператори в C#.

2
Stoyan.Stoyanov avatar Stoyan.Stoyanov 96 Точки

Здрасти,

Благодаря, че сподели твоите версии на решенията.

Според мен обаче, 9-та задача (Print a sequence) е по-редно да се реши по следният начин:

//Problem 9: Write a program that prints the first 10 members of the sequence: 2, -3, 4, -5, 6, -7, ...

using System;

class PrintASequence
{
    static void Main()
    {
        int a = 2;
        int b = -3;

        for (int i = 0; i < 5; i++)  //We are looking for the first 10 numbers
        {
            Console.Write("{0} {1} ", a, b); //In the problem example all numbers are printed on the same line
            a = a + 2;
            b = b - 2;
        }
    }
}

2
t.kanchev avatar t.kanchev 25 Точки
Благодаря ви, горе-долу ми се изясниха нещата. 
0
goshonski avatar goshonski 0 Точки

Здравейте,

Малко допълнение към задача 9: Гледам, че всички задават константа за броя итерации - в условието се иска да продължим поредицата - това означава, че е добре броя итерации да се въвежда клавиатурно в конзолата.

 

Още не е в темата, и аз не знаех как става - но като се поровиш малко става :)

0
MilushK avatar MilushK 44 Точки
Ето ги и моите решения.

П.П. За който се интересува как да си създаде Github профил, много добре е обяснено ето тук
1
TsvetinaKoleva avatar TsvetinaKoleva 92 Точки
Благодаря за Github обяснението ;)

Ммм... Задача AgeAfter10Years изисква в конзолата да напишеш рождената си дата, а програмата да изчисли на колко години си и на колко ще бъдеш след 10г. До колкото видях, мисля че твоята е направена за частния случай с 19г. ;) Ако не се сетиш как става може да погледнеш в темата за Задача 15. Успех :3
1
MilushK avatar MilushK 44 Точки
Права си, не съм обърнал достатъчно внимание на условието и направих задачата само за частния случай. Поправено е, мерси за обратната връзка! :) 
0
milen8204 avatar milen8204 296 Точки

Здравей,

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

Ето и моя вариант за решение.

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