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

  • Креатор на темата Креатор на темата back_rest
  • Време на започнување Време на започнување
Дали некој ги чува колоквиумите по КРС - ФИНКИ или некакви прашања од тестовите? Фала однапред :)
 
Не ми е јасно добивањето на Hi.
 

Attachments

  • Capture.JPG
    Capture.JPG
    106 KB · Прегледи: 25
Па прво: дали do се однесува за првиот или вториот while (ме збуни тоа што општиот облик на наредбата е do - while, а вака некако му доаѓа обратно)???
Кога печатам Hi?
 
Do се однесува на вториот while

Код:
while (j++ < 3)
printf('HA');
do
{
j-=2;
printf('HI')
}
while(++j);

Дали знаеш колкава е вредноста на j по излезот од првиот while?
 
Do се однесува на вториот while

Код:
while (j++ < 3)
printf('HA');
do
{
j-=2;
printf('HI')
}
while(++j);

Дали знаеш колкава е вредноста на j по излезот од првиот while?
j=4 од првиот while. А ова со do го пробав ко индивидуална програма и ми вади бескраен циклус...
 
Дали ја постави вака?

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

А да ставеш наместо ; една ваква заграда { после (ј<7) , пред KRAJ да ставиш еден ред код што ќе го зголемува J за да не врти бесконечно ете вака j++; па една ваква заграда после тоа }
И после да следи редот со крај...
Ај пробај :)
 
А да ставеш наместо ; една ваква заграда { после (ј<7) , пред KRAJ да ставиш еден ред код што ќе го зголемува J за да не врти бесконечно ете вака j++; па една ваква заграда после тоа }
И после да следи редот со крај...
Ај пробај :)
Не ме разбра, не ми е идејата да ми принта смајли до седум. Тоа што го напишав, ако не е ; ставена, ќе биде бесконечен циклус. Јасно ми е тоа. Она што не ми е јасно е зошто не се преоѓа на следната наредба. По мојата логика, не треба да го чита while-от и треба да оди на следно...
 
Код:
 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 пати) е како обичен блок код што ќе се изврши еднаш после самиот циклус.
 
Код:
 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

Back
На врв Bottom