Loading...
ZzozZ avatar ZzozZ 16 Точки

Забавни пробни програмки.

Здр. на всички. Аз съм новичък в програмирането и със знанията които имам се опитвам да правя някакви неща. Както всеки начинаещ програмите ми ще са тотална бъркотия и ще се случват всякакви забавни и интересни резултати :D

Та искам да направя безкраен цикъл, почнах да пиша разни кодове докато не стигнах до този вариант:

using System;

namespace Problem17PlayWithTheDebuggerInVisualStudio
{
    class Program
    {
        static void Main()
        {
            for (int i = 1; i < 1000; i++)
            {
                if (i == 999)
                {
                    Console.WriteLine(i);
                }
                string b = "yo";
                Console.WriteLine(b);
            }
        }
    }
}

Резултата от програмата е:

На мен лично ми стана много забавно след като видях резултата понеже очаквах всичките числа до 999 и след това да се изпише "yo". Все пак от резултата на програмата научих нещо ново ( поне така си мисля ). Ако някой може да обясни защо се случва точно това и примерно как да се предпазим от подобни резултати може да пише един коментар.

Случвало ли ви се е да направите някаква подобна програмка ( от която да сте очаквали един резултат а да се е получил съвсем друг и до някъде забавен? Ако да и имате желание да покажете напишете един коментар :)

П.п. Знам че можеби съм тръгнал в абсолютно грешна посока и с if, else, for, няма да мога да напиша безкраен цикъл. Оставете ме да си бия главата как ще успея да направя нещо подобно. И да искам да напиша такава програма просто защото искам да видя какво ще стане. Правил съм подобни опити с конзолата на firefox резултата бе че крашна браузъра. Чудно ми е да видя какво ще стане с компютър :D

 

--------------

Редакция: Сетих се как става някакъв безкраен цикъл. Трябваше да променя

for (int i = 1; i < 1000; i++)

на

for (int i = 1; i >0; i++)

:D

 

-------------

Редакция 2: Та имаме си безкраен цикъл дет си върти едни числа

Заема 1,128к :D и не мърда :)

Тагове:
0
Общи приказки 16/11/2015 22:01:09
krisitown avatar krisitown 45 Точки

Амии това се случва защото ти проверяваш дали i е равно на 999 и тогава и само тогава принтираш i, а иначе на всяка итерация(завъртане на цикъла) принтираш b, което е равно на "yo".

Не се притеснявай всички сме тръгнали от някъде(айде и аз почнах да звуча като най-големия >.<). Също така бих ти препоръчал да се опитваш да си обесниш кода ред по ред на някой(не е нужно да е раелен човек, просто го правиш на ум) така можеш да намериш доста логически грешки в кода ти.

1
ZzozZ avatar ZzozZ 16 Точки

Е добре, щом имам проверка след итерация не би ли следвало да принтира 999, yo, 999, yo, 999, и тнт ?

П.п. Задавам въпроси от любопитство и се опитвам да разбера как работи.

0
16/11/2015 22:07:11
krisitown avatar krisitown 45 Точки

променливата i се променя на всяка итерация, увеличава се със едно

тя започва със стойност 1

проверката ти казва: когато i е равно на 999 само тогава изпълни кода в следващата двойка скоби ( {..} )

 в този случай i се принтира само когато е равно на 999 и затова имаш само един път 999

докато следващия ред, който е извън if-а казва само да изпринтиш стринга "yo"

което се изпълнява на всяка итерация

 

Кода ти работи по този начин. Започва цикъла, проверява се дали променливата i == на 999, ако е равна се изписва, ако не е равна се пропуска изписването на i, след това се изписва стринга "yo" и този процес започва отначало само че i вече е с по-голяма стойност

 

За да се получи това което си искал трябва да си написал:

 

string b = "yo";
for (int i = 1; i < 1000; i++)
            {
                Console.WriteLine(i);
                if (i == 999)
                {
                    Console.WriteLine(b);
                }
            }
1
krisitown avatar krisitown 45 Точки

А за безкраен цикъл ти трябва while(true) { ... }

0
dgp_82 avatar dgp_82 19 Точки

Аз бих го направил 

int i =1;

string b = " yo";

While(true)

      {

          l++;

              If(i = 999)

                    {

                         Console.WriteLine(b);

                          i = 1;

                 }

          Console.Write.Line( i }

}

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