Помош: Кратки програмки

Член од
14 септември 2013
Мислења
86
Поени од реакции
19
Дали некој ги чува колоквиумите по КРС - ФИНКИ или некакви прашања од тестовите? Фала однапред :)
 
Член од
14 септември 2013
Мислења
86
Поени од реакции
19
Па прво: дали do се однесува за првиот или вториот while (ме збуни тоа што општиот облик на наредбата е do - while, а вака некако му доаѓа обратно)???
Кога печатам Hi?
 

Xibalba

Corona Australis
Член од
24 јануари 2012
Мислења
6.092
Поени од реакции
11.497
Do се однесува на вториот while

Код:
while (j++ < 3)
printf('HA');
do
{
j-=2;
printf('HI')
}
while(++j);
Дали знаеш колкава е вредноста на j по излезот од првиот while?
 
Член од
14 септември 2013
Мислења
86
Поени од реакции
19
Do се однесува на вториот while

Код:
while (j++ < 3)
printf('HA');
do
{
j-=2;
printf('HI')
}
while(++j);
Дали знаеш колкава е вредноста на j по излезот од првиот while?
j=4 од првиот while. А ова со do го пробав ко индивидуална програма и ми вади бескраен циклус...
 

Xibalba

Corona Australis
Член од
24 јануари 2012
Мислења
6.092
Поени од реакции
11.497
Дали ја постави вака?

Код:
int j=4;
 
do
{
j-=2;
printf('HI')
}
while(++j);
 
Член од
14 септември 2013
Мислења
86
Поени од реакции
19
Имам прашање: ако ставам ; после while, ќе прејде на следна наредба или?
Затоа што за конкретнава програма не ми извршува ништо (а ако одиме по логиката дека преоѓа на следно, би требало да го испечати KRAJ)....
PRASANJE.JPG
 

Хептаграм XI

Ἱερὸς Γάμος
Член од
13 февруари 2010
Мислења
12.306
Поени од реакции
12.298
Имам прашање: ако ставам ; после while, ќе прејде на следна наредба или?
Затоа што за конкретнава програма не ми извршува ништо (а ако одиме по логиката дека преоѓа на следно, би требало да го испечати KRAJ)....
Прегледај го приврзокот 73074
А да ставеш наместо ; една ваква заграда { после (ј<7) , пред KRAJ да ставиш еден ред код што ќе го зголемува J за да не врти бесконечно ете вака j++; па една ваква заграда после тоа }
И после да следи редот со крај...
Ај пробај :)
 
Член од
14 септември 2013
Мислења
86
Поени од реакции
19
А да ставеш наместо ; една ваква заграда { после (ј<7) , пред KRAJ да ставиш еден ред код што ќе го зголемува J за да не врти бесконечно ете вака j++; па една ваква заграда после тоа }
И после да следи редот со крај...
Ај пробај :)
Не ме разбра, не ми е идејата да ми принта смајли до седум. Тоа што го напишав, ако не е ; ставена, ќе биде бесконечен циклус. Јасно ми е тоа. Она што не ми е јасно е зошто не се преоѓа на следната наредба. По мојата логика, не треба да го чита while-от и треба да оди на следно...
 
M

Mr.InF3ction

Гостин
Код:
 int i = 0;
    while(i < 5 && printf("%d",i++));
    {
        printf("\nposle while ke se izvrsi ova kako obicna linija\n");
    }
    i = 0;
    while(i < 5){
        printf("a ova ke se pecati 5 pati\n");
        i++;
    }
Еве ти пример код што илустрира што се дешава.
Прво проблемот во твојот код е што имаш безконечен циклус, "j" секогаш е помал од 7 и затоа не ти работи како што треба.
Второ треба да знаеш дека во for,while доколку на крај ставиш ";" се извршува таа линија само,телото (тоа што сакаш да се повтори N пати) е како обичен блок код што ќе се изврши еднаш после самиот циклус.
 
Член од
14 септември 2013
Мислења
86
Поени од реакции
19
Код:
 int i = 0;
    while(i < 5 && printf("%d",i++));
    {
        printf("\nposle while ke se izvrsi ova kako obicna linija\n");
    }
    i = 0;
    while(i < 5){
        printf("a ova ke se pecati 5 pati\n");
        i++;
    }
Еве ти пример код што илустрира што се дешава.
Прво проблемот во твојот код е што имаш безконечен циклус, "j" секогаш е помал од 7 и затоа не ти работи како што треба.
Второ треба да знаеш дека во for,while доколку на крај ставиш ";" се извршува таа линија само,телото (тоа што сакаш да се повтори N пати) е како обичен блок код што ќе се изврши еднаш после самиот циклус.
Не разбрав што е тоа што ќе се изврши, ако имам точка-запирка на крај...наредбата која ја задавам?
--- надополнето: 24 септември 2013 во 00:44 ---
Сфатив :)
 

Kajgana Shop

На врв Bottom