Loading...
MajenKwaad avatar MajenKwaad 6 Точки

Домашно: Въведение в програмирането Problem 9: Print a Sequence

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

Благодаря предварително за отделеното време. 

Тагове:
1
Programming Basics
TodorovH avatar TodorovH 216 Точки

Здравей,

Когато имаш въпрос към точно определен код и искаш да ти бъде разяснен как работи, давай линк към съответния код, понеже всеки има собствен стил на писане и може неговия код на дадената задача да не отговаря на кода, който ти имаш и не разбираш! По този начин с обяснения, които са предназначени за друг код само ще те обърка още повече!

Поздрави

Христо Тодоров

3
MajenKwaad avatar MajenKwaad 6 Точки

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

http://pastebin.com/3wyBeb3Y

Благодаря :)

Михаил Соловьов

0
TodorovH avatar TodorovH 216 Точки

В задачата се изисква да изпечаташ на конзолата поредица от числа, започващи от 2, затова и началото на цикъла ти е равно на 2 и цикъла ще продължи да се изпълнява докато числата станат 10! Значи int i ще нараства с едно докато се изпълни условието да е по-малко или равно на 11! От посочените първи няколко члена на поредицата може да видиш, че четните числа са с положителен знак, а нечетните са отрицателни!

За да провериш дали поредното число е четно използваш формулата i % 2 == 0, с която проверяваш дали числото се дели на 2 с или без остатък, като в дадената формула вместо дробна черта / използваш %, знака за процент, който ти дава остатъка след деление! Ако този остатък е 0 значи числото е четно!

Като използваш дадетото условие в if else ще поставиш на всяко нечетно число при отпечатването отрицателен знак!

Мисля, че това е достатъчно като обяснение за тази задача! Надявам се да съм ти бил полезен!

Ако имаш още въпроси питай!

9
HPetrov avatar HPetrov 822 Точки

Само ще подскажа, че "%" оператора означава деление с остатък. Например 1 % 2 = 1,   2 % 2 = 0,      100 % 10 = 0,    109 % 10 = 9

Надявам се си разбрал примерите. Останалото трябва вече да можеш да им свържеш смисъла след като знаеш какво прави този оператор вече :)

4
TodorovH avatar TodorovH 216 Точки

2 % 2 е 0!

3
HPetrov avatar HPetrov 822 Точки
Поправих го, мерси.
0
Neli_Iordanowa avatar Neli_Iordanowa 5 Точки

Здравей,

според мен има и доста по лесно решение.

using System;

class PrintSequence
{
    static void Main()
    {
       
        for (int i = 1; i < 11; i++)
        {
            Console.WriteLine((i + 1) * Math.Pow(-1, i + 1));
        }

    }
}

 

 

Тъй като се изисква да се принтират първите 10 члена на редицата, за мен е по лесно цикъла да е от 1 до <11.

Първото чило, което трябва да принтираш е -2, т.е.при i=1: (1+1)*1/(-1)на степен 2/ = 2 => (i + 1) * Math.Pow(-1, i + 1)

i=1=> (1+1)*1=2

i=2=> (2+1)*(-1)=-3

и т.н.

 

3
MajenKwaad avatar MajenKwaad 6 Точки
Понеже не мога да си изтрия коментара, ще го поставя на ново, но просто като отделен такъв. Извинявам се за неудобството.
0
MajenKwaad avatar MajenKwaad 6 Точки

Благодаря на всички Ви за информацията и времето което отделихте за мен, благодарение на това успях да се справя със всички задачки до последната а иначе конкретно за тази я направих с цикли , и онази на която се изискват 1000 числа (1001) за нея просто промених стойноста от (int i=2; i<=11; i++) на (int i=2; i<=1001; i++) и воала :Д


Neli_Iordanowa Извинявай само една малка поправка, не съм проверил кода ти но при " for (int i = 1; i < 11; i++) " тука не трябва ли да си сложиш ( int i = 2--> защото от тука трябва да почне таблицата, и при броя на циклите i <=11 да добавиш равното защото трябва да ти изпише и числото -11?

Инак Благодаря и за твоя отговор :)

0
TodorovH avatar TodorovH 216 Точки

Цикълът може да ти почне от различни стойности, той се използва, за да ти се повтори програмата желан брой пъти!

В случая е препоръчително да почне от 2, тъй като използваш текущата стойност на i и за да не правиш допълнителни пресмятания! Иначе може да почне и от 50, но ще трябва да сложиш при отпечатването i - 48, за да ти почне поредицата от 2!

0
dilqnatini avatar dilqnatini 1 Точки

Здравейте от 2 часа се чудя къде ми е грешката като не ми дава никакъв ерор, но и не ми го стартира  с visual studio 2010 express.Не мога да разбера къде ми е грешката.

 

using System;

class PrintSequence
{
static void Main()
{
Console.WriteLine("The first ten numbers of sequence are");
for (int i = 2; i <= 11; i++)
{
if (i % 2 == 0)
{
Console.Write(i + " ,");
}
else
{
Console.Write(-i + " ,");
}

}

}
}

 Тук не съм го подредила, но предполагам го разбирате

 

1
TodorovH avatar TodorovH 216 Точки

Програмата си работи във версия 2013! Има какво да се пооправи, но иначе си работи!

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