Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Prakticni kolokvij (zadatak)
WWW:

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
coucou
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 06. 2016. (23:11:36)
Postovi: (7)16
Sarma = la pohva - posuda
= 1 - 0

PostPostano: 13:25 ned, 4. 12. 2016    Naslov: Prakticni kolokvij Citirajte i odgovorite

Pozdrav, muci me (za pocetak) 1. zadatak za prakticni kolokvij, u kojem treba napisat program koji za uneseni prirodni broj k ispisuje sve obilne brojeve manje ili jednake k.
Ovo bi trebalo bit rjesenje:


[code:1]#include<stdio.h>

int main(void) {

int k,i,j,s;

scanf("%d", &k);

for(i=1; i<=k; i++) {

s=0;

for(j=1; j<i; j++) {

if(i%j==0) s=s+j;

}

if(i<s) printf("%d\n", i);

}

return 0;

}[/code:1]


Uglavnom, bune me ove ugniježđene for petlje. Moze netko objasnit sto se tocno tu dogodi da kad ja upisem 18 on ispise 12 i 18? Najbitnije mi je za shvatit sto se dogada nakon sto je ovaj uvjet if(i%j==0) netocan. Npr. za i=3 i j=2, (i%j==0) ne vrijedi pa sto ide nakon toga?
Pozdrav, muci me (za pocetak) 1. zadatak za prakticni kolokvij, u kojem treba napisat program koji za uneseni prirodni broj k ispisuje sve obilne brojeve manje ili jednake k.
Ovo bi trebalo bit rjesenje:


Kod:
#include<stdio.h>

int main(void) {

int k,i,j,s;

scanf("%d", &k);

for(i=1; i<=k; i++) {

  s=0;

  for(j=1; j<i; j++) {

     if(i%j==0)  s=s+j;

}

  if(i<s) printf("%d\n", i);

}

return 0;

}



Uglavnom, bune me ove ugniježđene for petlje. Moze netko objasnit sto se tocno tu dogodi da kad ja upisem 18 on ispise 12 i 18? Najbitnije mi je za shvatit sto se dogada nakon sto je ovaj uvjet if(i%j==0) netocan. Npr. za i=3 i j=2, (i%j==0) ne vrijedi pa sto ide nakon toga?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 19:37 ned, 4. 12. 2016    Naslov: Citirajte i odgovorite

Kad je uvjet istinit, [tt]s[/tt] se poveca za [tt]j[/tt]; inace se taj korak preskoci, a sve drugo je isto.

Ako te zanima sto se dogadja, ubaci pomocne ispise i provjeri:

[code:1]#include<stdio.h>

int main(void) {
int k,i,j,s;

scanf("%d", &k);

for(i=1; i<=k; i++) {
printf("i-petlja: i=%d\n", i);
s=0;
for(j=1; j<i; j++) {
printf(
" j-petlja prije if: i=%d, j=%d, s=%d, uvjet=%s\n",
i, j, s, (i%j==0 ? "istina" : "laz")
);
if(i%j==0)
s = s+j;
printf(" j-petlja poslije if: i=%d, j=%d, s=%d\n", i, j, s);
}
if(i<s) printf("%d\n", i);
}

return 0;
}[/code:1]

Ispis ovoga za input [tt]18[/tt] je:

[code:1]i-petlja: i=1
i-petlja: i=2
j-petlja prije if: i=2, j=1, s=0, uvjet=istina
j-petlja poslije if: i=2, j=1, s=1
i-petlja: i=3
j-petlja prije if: i=3, j=1, s=0, uvjet=istina
j-petlja poslije if: i=3, j=1, s=1
j-petlja prije if: i=3, j=2, s=1, uvjet=laz
j-petlja poslije if: i=3, j=2, s=1
i-petlja: i=4
j-petlja prije if: i=4, j=1, s=0, uvjet=istina
j-petlja poslije if: i=4, j=1, s=1
j-petlja prije if: i=4, j=2, s=1, uvjet=istina
j-petlja poslije if: i=4, j=2, s=3
j-petlja prije if: i=4, j=3, s=3, uvjet=laz
j-petlja poslije if: i=4, j=3, s=3
...[/code:1]

Za ostatak ispisa, izvedi na svom racunalu, da sad ne pretrpavam post. Ako bude konkretnijih pitanja zasto se nesto nekako izvelo, pitaj slobodno, ali precizno.

Usput, programe je puno lakse pratiti ako su pristojno napisani (obrati paznju na uvlacenja kod mene, u usporedbi s tvojim kodom).
Kad je uvjet istinit, s se poveca za j; inace se taj korak preskoci, a sve drugo je isto.

Ako te zanima sto se dogadja, ubaci pomocne ispise i provjeri:

Kod:
#include<stdio.h>

int main(void) {
    int k,i,j,s;

    scanf("%d", &k);

    for(i=1; i<=k; i++) {
        printf("i-petlja: i=%d\n", i);
        s=0;
        for(j=1; j<i; j++) {
            printf(
                "    j-petlja prije if: i=%d, j=%d, s=%d, uvjet=%s\n",
                i, j, s, (i%j==0 ? "istina" : "laz")
            );
            if(i%j==0)
                s = s+j;
            printf("    j-petlja poslije if: i=%d, j=%d, s=%d\n", i, j, s);
        }
        if(i<s) printf("%d\n", i);
    }

    return 0;
}


Ispis ovoga za input 18 je:

Kod:
i-petlja: i=1
i-petlja: i=2
    j-petlja prije if: i=2, j=1, s=0, uvjet=istina
    j-petlja poslije if: i=2, j=1, s=1
i-petlja: i=3
    j-petlja prije if: i=3, j=1, s=0, uvjet=istina
    j-petlja poslije if: i=3, j=1, s=1
    j-petlja prije if: i=3, j=2, s=1, uvjet=laz
    j-petlja poslije if: i=3, j=2, s=1
i-petlja: i=4
    j-petlja prije if: i=4, j=1, s=0, uvjet=istina
    j-petlja poslije if: i=4, j=1, s=1
    j-petlja prije if: i=4, j=2, s=1, uvjet=istina
    j-petlja poslije if: i=4, j=2, s=3
    j-petlja prije if: i=4, j=3, s=3, uvjet=laz
    j-petlja poslije if: i=4, j=3, s=3
...


Za ostatak ispisa, izvedi na svom racunalu, da sad ne pretrpavam post. Ako bude konkretnijih pitanja zasto se nesto nekako izvelo, pitaj slobodno, ali precizno.

Usput, programe je puno lakse pratiti ako su pristojno napisani (obrati paznju na uvlacenja kod mene, u usporedbi s tvojim kodom).



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan