Здравейте, някой може ли да обясни 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
Здрасти,
Благодаря, че сподели твоите версии на решенията.
Според мен обаче, 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;
}
}
}
Здравейте,
Малко допълнение към задача 9: Гледам, че всички задават константа за броя итерации - в условието се иска да продължим поредицата - това означава, че е добре броя итерации да се въвежда клавиатурно в конзолата.
Още не е в темата, и аз не знаех как става - но като се поровиш малко става :)
Ммм... Задача AgeAfter10Years изисква в конзолата да напишеш рождената си дата, а програмата да изчисли на колко години си и на колко ще бъдеш след 10г. До колкото видях, мисля че твоята е направена за частния случай с 19г. ;) Ако не се сетиш как става може да погледнеш в темата за Задача 15. Успех :3
Здравейте, това е моето решение на 15 задача.
Здрасти!
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 ще се излезе от цикъла и програмата ще продължи със следващите команди от кода.
Колегата easlavov ти е обяснил много добре как работи цикълът for, искам да допълня само че в
Console.WriteLine(i % 2 == 0 ? i : -i);
използвам conditional operator, а тук може да разгледаш останалите оператори в C#.