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

praktični kolokvij
WWW:
Idite na Prethodno  1, 2, 3, 4, 5, 6 ... 17, 18, 19  Sljedeće
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
vsego
Site Admin
Site Admin


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

PostPostano: 3:40 uto, 15. 11. 2011    Naslov: Citirajte i odgovorite

Bez da trazim koji je to zadatak (mozda nije naodmet prouciti [url=http://degiorgi.math.hr/forum/viewtopic.php?t=17017]upute za preglednije pisanje poruka[/url]), primjecujem da jako volis

[code:1]for (i = a; i <= b; ++i)
if (i == a || i == b) nesto;
else ...[/code:1]

U tvom slucaju, bitno je lakse:
[code:1]nesto;
for (i = a+1; i < b; ++i)
...
nesto;[/code:1]

Pogotovo ako [tt]while()[/tt] u prvoj petlji zamijenis s jednolinijskim [tt]for(j = 0; j < n; ++j) printf("*");[/tt].

Inace, preporucam petlje setati od [tt]varijabla = 0[/tt] do [tt]varijabla < n[/tt], umjesto [tt]varijabla = 1[/tt] do [tt]varijabla <= n[/tt]. Razlog je taj da se nizovi (i matrice) indexiraju od nule, pa ce vam kasnije biti teze ako se naviknete kretati od jedinice.
Bez da trazim koji je to zadatak (mozda nije naodmet prouciti upute za preglednije pisanje poruka), primjecujem da jako volis

Kod:
for (i = a; i <= b; ++i)
  if (i == a || i == b) nesto;
  else ...


U tvom slucaju, bitno je lakse:
Kod:
nesto;
for (i = a+1; i < b; ++i)
  ...
nesto;


Pogotovo ako while() u prvoj petlji zamijenis s jednolinijskim for(j = 0; j < n; ++j) printf("*");.

Inace, preporucam petlje setati od varijabla = 0 do varijabla < n, umjesto varijabla = 1 do varijabla ⇐ n. Razlog je taj da se nizovi (i matrice) indexiraju od nule, pa ce vam kasnije biti teze ako se naviknete kretati od jedinice.



_________________
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
Zenon
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 09. 2011. (19:14:43)
Postovi: (2B1)16
Sarma: -
Lokacija: [tex]\pm\infty[/tex]

PostPostano: 4:46 uto, 15. 11. 2011    Naslov: Citirajte i odgovorite

Evo editirao sam post i stavio tekst zadatka, sorry.
Vidio sam istu opasku i u skripti. Tako smo mi i u srednjoj dok smo radili. U ovom primjeru sam namjerno uzeo tako jer mi je ovo programiranje teško, a broj redka je prirodan broj, pa me dodatno "opterećuje" pamćenje/razmišljanje u kojem sam točno retku, ovako krećem od broja 1 pa znam da sam u prvom redu, tako si lakše predočim zadatak. Možda ću moći i na to misliti kada se malo izvježbam i neke mi stvari postanu lakše i više rutinski :)

Ako se sa tekstom zadatka Vaš komentar mijenja (dio koji se ne odnosi na gornju raspravu), molio bih da komentirate što to, a ako ne odgovorite ništa, smatrat ću da se ništa ne mijenja i ne dodaje.
U svakom slučaju hvala.
Evo editirao sam post i stavio tekst zadatka, sorry.
Vidio sam istu opasku i u skripti. Tako smo mi i u srednjoj dok smo radili. U ovom primjeru sam namjerno uzeo tako jer mi je ovo programiranje teško, a broj redka je prirodan broj, pa me dodatno "opterećuje" pamćenje/razmišljanje u kojem sam točno retku, ovako krećem od broja 1 pa znam da sam u prvom redu, tako si lakše predočim zadatak. Možda ću moći i na to misliti kada se malo izvježbam i neke mi stvari postanu lakše i više rutinski Smile

Ako se sa tekstom zadatka Vaš komentar mijenja (dio koji se ne odnosi na gornju raspravu), molio bih da komentirate što to, a ako ne odgovorite ništa, smatrat ću da se ništa ne mijenja i ne dodaje.
U svakom slučaju hvala.


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Zenon
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 09. 2011. (19:14:43)
Postovi: (2B1)16
Sarma: -
Lokacija: [tex]\pm\infty[/tex]

PostPostano: 4:56 uto, 15. 11. 2011    Naslov: 4. zadatak, praktični kolokvij Citirajte i odgovorite

[b]Zadatak[/b]:
Kažemo da su prirodni brojevi a i b prijateljski ako je zbroj svih djelitelja broja a strogo manjih od broja a jednak broju b,
a zbroj svih djelitelja broja b strogo manjih od b jednak broju a.
Napišite program koji učitava dva prirodna broja m i n, m < n, i ispisuje sve parove prijateljskih brojeva (a, b) takvih da je
m<=a, b<=n. Svaki par treba ispisati točno jednom.

Evo ga, riješio sam i to, uz puno muke u ovo doba :D
Sada me zanima je li mi točan? Imam osjećaj, iako mi izbaci točno riješenje za primjer iz samog zadatka, tj. za m=100 i n=300 => a=220,b=284, da mi zadatak nije skroz točan. Prvo mi je ispisivao za zadani primjer (220,284) i (284,220) pa sam i to riješio i evo što sam dobio:
[code:1]#include<stdio.h>
int main(void)
{
int m,n,a,b,djeljitelj=1,zbroja=0,zbrojb=0;
scanf("%d %d",&m,&n);
for(a=m;a<=n;a++)
{
while(djeljitelj<a)
{
if(a%djeljitelj==0) zbroja+=djeljitelj;
djeljitelj++;
}
djeljitelj=1;
if (zbroja>=m && zbroja<=n)
{
b=zbroja;
while(djeljitelj<b)
{
if(b%djeljitelj==0) zbrojb+=djeljitelj;
djeljitelj++;
}
if (zbrojb==a && a<b) printf("(%d,%d)",a,b);
djeljitelj=1;
}
zbroja=zbrojb=0;
}
return 0;
}
[/code:1]
Zadatak:
Kažemo da su prirodni brojevi a i b prijateljski ako je zbroj svih djelitelja broja a strogo manjih od broja a jednak broju b,
a zbroj svih djelitelja broja b strogo manjih od b jednak broju a.
Napišite program koji učitava dva prirodna broja m i n, m < n, i ispisuje sve parove prijateljskih brojeva (a, b) takvih da je
m⇐a, b⇐n. Svaki par treba ispisati točno jednom.

Evo ga, riješio sam i to, uz puno muke u ovo doba Very Happy
Sada me zanima je li mi točan? Imam osjećaj, iako mi izbaci točno riješenje za primjer iz samog zadatka, tj. za m=100 i n=300 ⇒ a=220,b=284, da mi zadatak nije skroz točan. Prvo mi je ispisivao za zadani primjer (220,284) i (284,220) pa sam i to riješio i evo što sam dobio:
Kod:
#include<stdio.h>
int main(void)
{
    int m,n,a,b,djeljitelj=1,zbroja=0,zbrojb=0;
    scanf("%d %d",&m,&n);
    for(a=m;a<=n;a++)
    {
        while(djeljitelj<a)
        {
            if(a%djeljitelj==0) zbroja+=djeljitelj;
            djeljitelj++;
        }
        djeljitelj=1;
        if (zbroja>=m && zbroja<=n)
        {
            b=zbroja;
            while(djeljitelj<b)
            {
            if(b%djeljitelj==0) zbrojb+=djeljitelj;
            djeljitelj++;
            }
        if (zbrojb==a && a<b) printf("(%d,%d)",a,b);
        djeljitelj=1;
        }
        zbroja=zbrojb=0;
    }
    return 0;
}


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Zenon
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 09. 2011. (19:14:43)
Postovi: (2B1)16
Sarma: -
Lokacija: [tex]\pm\infty[/tex]

PostPostano: 5:25 uto, 15. 11. 2011    Naslov: 5. zadatak, praktični kolokvij Citirajte i odgovorite

[b]Zadatak[/b]:
Napišite program koji učitava cijele brojeve b (b<=10) i n, a zatim n brojeva koji predstavljaju znamenke nekog broja u bazi
b. Program treba ispisati o kojem dekadskom broju se radi.

Molim pomoć: kako to postići (ako je moguće) bez math.h, a da nije "glupo", tj. da se silom izbaci math.h, a onda bez veze zakomplicira.
Usput, provjera moga :)
Unaprijed hvala!
I ako je problem što ja otvaram za svaki zadatak novu temu, meni je svejedno ako, nakon što sve razrješimo, temu obrišete.
Iako mislim da je ovako preglednije za sve, jer u temi "praktični kolokvij" već ima 4 stranice i sve je zbrda zdola, a meni internet jako jako spor i dok se snađem i dok se sve učita treba puno vremena. Ovako mi je jednostavnije, pa zato.


[code:1]#include<stdio.h>
#include<math.h>
int main(void)
{
int b,n,x,i,zbroj=0;
scanf("%d %d",&b,&n);
if (b>1 && b<=10)
{
for (i=0;i<n;i++)
{
scanf("%d",&x);
if (x>=0 && x<b)
{
zbroj+=x*(pow(b,n-i-1));
}
}
printf("Dekadski zapis je %d",zbroj);
}
return 0;
}

[/code:1]
Zadatak:
Napišite program koji učitava cijele brojeve b (b⇐10) i n, a zatim n brojeva koji predstavljaju znamenke nekog broja u bazi
b. Program treba ispisati o kojem dekadskom broju se radi.

Molim pomoć: kako to postići (ako je moguće) bez math.h, a da nije "glupo", tj. da se silom izbaci math.h, a onda bez veze zakomplicira.
Usput, provjera moga Smile
Unaprijed hvala!
I ako je problem što ja otvaram za svaki zadatak novu temu, meni je svejedno ako, nakon što sve razrješimo, temu obrišete.
Iako mislim da je ovako preglednije za sve, jer u temi "praktični kolokvij" već ima 4 stranice i sve je zbrda zdola, a meni internet jako jako spor i dok se snađem i dok se sve učita treba puno vremena. Ovako mi je jednostavnije, pa zato.


Kod:
#include<stdio.h>
#include<math.h>
int main(void)
{
    int b,n,x,i,zbroj=0;
    scanf("%d %d",&b,&n);
    if (b>1 && b<=10)
    {
        for (i=0;i<n;i++)
        {
        scanf("%d",&x);
        if (x>=0 && x<b)
            {
            zbroj+=x*(pow(b,n-i-1));
            }
        }
        printf("Dekadski zapis je %d",zbroj);
    }
    return 0;
}



[Vrh]
Korisnički profil Pošaljite privatnu poruku
Zenon
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 09. 2011. (19:14:43)
Postovi: (2B1)16
Sarma: -
Lokacija: [tex]\pm\infty[/tex]

PostPostano: 6:50 uto, 15. 11. 2011    Naslov: 15. zadatak, praktični kolokvij Citirajte i odgovorite

[b]Zadatak[/b]:
Napišite program koji kao unos prima paran prirodan broj n > 2 i provjerava da li se n može prikazati kao zboj dva prosta
broja. Ako traženi rastav postoji, onda ga treba i ispisati. Ako postoji više rastava, svejedno je koji se ispisuje. Na primjer
za n = 4 program treba ispisati 4 = 2 + 2, a za n = 10 program treba ispisati 10 = 3 + 7 ili 10 = 5 + 5.

Riješio sam evo i ovo, ali pomoću uvjetnog skoka, što ne znam smijemo li koristiti.
Ako ne, volio bih da mi date hint ili uputu kako ispisati samo jednu kombinaciju bez toga, jer kada nisam imao uvjetni skok ispiše mi ih sve, a komutiranje sam riješio tako da ispiše kombinacije (i,j) samo kada i<=j, ali opet ispiše recimo 10=3+7, 10=5+5 što nisam ni mislio da neće, nego ne znam kako izbjeći :P

[code:1]#include<stdio.h>
int main(void)
{
int n,i,p=2,prost1,prost2;
scanf("%d",&n);
if (n>2 && n%2==0)
{
for(i=2;i<=(n-2);i++)
{
prost1=prost2=1;
while (prost1 && p<i)
{
if(i%p==0) prost1=0;
p++;
}
p=2;
while (prost2 && p<(n-i))
{
if((n-i)%p==0) prost2=0;
p++;
}
p=2;
if (prost1 && prost2)
{
printf("%d=%d+%d\n",n,i,n-i);
goto kraj;
}
}
}
kraj:
return 0;
}

[/code:1]
Zadatak:
Napišite program koji kao unos prima paran prirodan broj n > 2 i provjerava da li se n može prikazati kao zboj dva prosta
broja. Ako traženi rastav postoji, onda ga treba i ispisati. Ako postoji više rastava, svejedno je koji se ispisuje. Na primjer
za n = 4 program treba ispisati 4 = 2 + 2, a za n = 10 program treba ispisati 10 = 3 + 7 ili 10 = 5 + 5.

Riješio sam evo i ovo, ali pomoću uvjetnog skoka, što ne znam smijemo li koristiti.
Ako ne, volio bih da mi date hint ili uputu kako ispisati samo jednu kombinaciju bez toga, jer kada nisam imao uvjetni skok ispiše mi ih sve, a komutiranje sam riješio tako da ispiše kombinacije (i,j) samo kada i⇐j, ali opet ispiše recimo 10=3+7, 10=5+5 što nisam ni mislio da neće, nego ne znam kako izbjeći Razz

Kod:
#include<stdio.h>
int main(void)
{
    int n,i,p=2,prost1,prost2;
    scanf("%d",&n);
    if (n>2 && n%2==0)
    {
        for(i=2;i<=(n-2);i++)
        {
            prost1=prost2=1;
            while (prost1 && p<i)
            {
                if(i%p==0) prost1=0;
                p++;
            }
            p=2;
            while (prost2 && p<(n-i))
            {
                if((n-i)%p==0) prost2=0;
                p++;
            }
            p=2;
            if (prost1 && prost2)
            {
                printf("%d=%d+%d\n",n,i,n-i);
                goto kraj;
            }
        }
    }
    kraj:
    return 0;
}



[Vrh]
Korisnički profil Pošaljite privatnu poruku
mdoko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 30. 11. 2002. (22:17:12)
Postovi: (71A)16
Spol: muško
Sarma = la pohva - posuda
199 = 237 - 38
Lokacija: Heriot-Watt University, Edinburgh

PostPostano: 7:14 uto, 15. 11. 2011    Naslov: Re: 15. zadatak, praktični kolokvij Citirajte i odgovorite

[quote="Zenon"]
Riješio sam evo i ovo, ali pomoću uvjetnog skoka,
[/quote]
[tt]goto[/tt] se naziva [b]bez[/b]uvjetni skok :wink:

[quote]
što ne znam smijemo li koristiti.
[/quote]
Nije baš najljepše rješenje, ali kao što je već puno puta rečeno, smijete koristiti sve što spada u standardni C.
Zenon (napisa):

Riješio sam evo i ovo, ali pomoću uvjetnog skoka,

goto se naziva bezuvjetni skok Wink

Citat:

što ne znam smijemo li koristiti.

Nije baš najljepše rješenje, ali kao što je već puno puta rečeno, smijete koristiti sve što spada u standardni C.



_________________
Extraordinary claims require extraordinary evidence. – Carl Sagan
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
mdoko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 30. 11. 2002. (22:17:12)
Postovi: (71A)16
Spol: muško
Sarma = la pohva - posuda
199 = 237 - 38
Lokacija: Heriot-Watt University, Edinburgh

PostPostano: 7:19 uto, 15. 11. 2011    Naslov: Re: 5. zadatak, praktični kolokvij Citirajte i odgovorite

[quote="Zenon"][b]Zadatak[/b]:
Napišite program koji učitava cijele brojeve b (b<=10) i n, a zatim n brojeva koji predstavljaju znamenke nekog broja u bazi
b. Program treba ispisati o kojem dekadskom broju se radi.

Molim pomoć: kako to postići (ako je moguće) bez math.h, a da nije "glupo", tj. da se silom izbaci math.h, a onda bez veze zakomplicira.
[/quote]
Vidi [url=http://degiorgi.math.hr/forum/viewtopic.php?p=163255#163255]ovaj post[/url].
Zenon (napisa):
Zadatak:
Napišite program koji učitava cijele brojeve b (b⇐10) i n, a zatim n brojeva koji predstavljaju znamenke nekog broja u bazi
b. Program treba ispisati o kojem dekadskom broju se radi.

Molim pomoć: kako to postići (ako je moguće) bez math.h, a da nije "glupo", tj. da se silom izbaci math.h, a onda bez veze zakomplicira.

Vidi ovaj post.



_________________
Extraordinary claims require extraordinary evidence. – Carl Sagan
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Zenon
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 09. 2011. (19:14:43)
Postovi: (2B1)16
Sarma: -
Lokacija: [tex]\pm\infty[/tex]

PostPostano: 7:27 uto, 15. 11. 2011    Naslov: Re: 5. zadatak, praktični kolokvij Citirajte i odgovorite

[quote="mdoko"][quote="Zenon"][b]Zadatak[/b]:
Napišite program koji učitava cijele brojeve b (b<=10) i n, a zatim n brojeva koji predstavljaju znamenke nekog broja u bazi
b. Program treba ispisati o kojem dekadskom broju se radi.

Molim pomoć: kako to postići (ako je moguće) bez math.h, a da nije "glupo", tj. da se silom izbaci math.h, a onda bez veze zakomplicira.
[/quote]
Vidi [url=http://degiorgi.math.hr/forum/viewtopic.php?p=163255#163255]ovaj post[/url].[/quote]

Jasno mi, tako sam i riješio treći, pomoću tog Vašeg hinta, i sada ga ne primjenim ovdje. Prerano je :D
mdoko (napisa):
Zenon (napisa):
Zadatak:
Napišite program koji učitava cijele brojeve b (b⇐10) i n, a zatim n brojeva koji predstavljaju znamenke nekog broja u bazi
b. Program treba ispisati o kojem dekadskom broju se radi.

Molim pomoć: kako to postići (ako je moguće) bez math.h, a da nije "glupo", tj. da se silom izbaci math.h, a onda bez veze zakomplicira.

Vidi ovaj post.


Jasno mi, tako sam i riješio treći, pomoću tog Vašeg hinta, i sada ga ne primjenim ovdje. Prerano je Very Happy


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


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

PostPostano: 7:37 uto, 15. 11. 2011    Naslov: Citirajte i odgovorite

[quote="Zenon"]volio bih da mi date hint ili uputu kako ispisati samo jednu kombinaciju bez toga[/quote]

[tt]break;[/tt] bi bio prirodna stvar, a u ovom slucaju bi i [tt]return 0;[/tt] funkcioniralo.

[quote="Zenon"]komutiranje sam riješio tako da ispiše kombinacije (i,j) samo kada i<=j, ali opet ispiše recimo 10=3+7, 10=5+5 što nisam ni mislio da neće[/quote]

Ovo nisam razumio.

Molim ne otvarati topic za svaki zadatak posebno. Pogubit cemo se ako bude 50 topica. Postojece cu polijepiti u jedan topic.
Zenon (napisa):
volio bih da mi date hint ili uputu kako ispisati samo jednu kombinaciju bez toga


break; bi bio prirodna stvar, a u ovom slucaju bi i return 0; funkcioniralo.

Zenon (napisa):
komutiranje sam riješio tako da ispiše kombinacije (i,j) samo kada i⇐j, ali opet ispiše recimo 10=3+7, 10=5+5 što nisam ni mislio da neće


Ovo nisam razumio.

Molim ne otvarati topic za svaki zadatak posebno. Pogubit cemo se ako bude 50 topica. Postojece cu polijepiti u jedan topic.



_________________
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
vsego
Site Admin
Site Admin


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

PostPostano: 7:52 uto, 15. 11. 2011    Naslov: Citirajte i odgovorite

Ref. "prijateljski brojevi" by Zenon...

Cini mi se ok, ovako napamet.

Postoji li neki posebni razlog da toliko ne volis [tt]for[/tt]-petlju? Ova dva [tt]while[/tt]-a imaju i inicijalizaicju i inkrement, pa bi [tt]for[/tt], po meni, bio puno prirodniji.

Takodjer, preporucam inicijalizacije raditi na pocetku, a ne na kraju koraka. Preglednije je, a vjerojatno se zelis moci snalaziti u svojim programima i kad postanu opsezniji.

Evo tvog programa, preradjenog prema tim dvjema uputama (i malo smanjen broj varijabli):

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

int main(void) {
int m, n, a, b, djelitelj, a2;

scanf("%d %d",&m,&n);

for(a = m; a <= n; a++) {
b = a2 = 0;
for (djelitelj = 1; djelitelj < a; djelitelj++)
if (a % djelitelj == 0) b += djelitelj;
if (b >= m && b <= n) {
for (djelitelj = 1; djelitelj < b; djelitelj++)
if (b % djelitelj == 0) a2 += djelitelj;
if (a2 == a && a < b) printf("(%d,%d)\n", a, b);
}
}

return 0;
}[/code:1]

P.S. Posto ne dije[color=red]lj[/color]imo nego dije[color=green]l[/color]imo, onda se to zove dje[color=green]l[/color]itelj. ;)
Ref. "prijateljski brojevi" by Zenon...

Cini mi se ok, ovako napamet.

Postoji li neki posebni razlog da toliko ne volis for-petlju? Ova dva while-a imaju i inicijalizaicju i inkrement, pa bi for, po meni, bio puno prirodniji.

Takodjer, preporucam inicijalizacije raditi na pocetku, a ne na kraju koraka. Preglednije je, a vjerojatno se zelis moci snalaziti u svojim programima i kad postanu opsezniji.

Evo tvog programa, preradjenog prema tim dvjema uputama (i malo smanjen broj varijabli):

Kod:
#include<stdio.h>

int main(void) {
  int m, n, a, b, djelitelj, a2;

  scanf("%d %d",&m,&n);

  for(a = m; a <= n; a++) {
    b = a2 = 0;
    for (djelitelj = 1; djelitelj < a; djelitelj++)
      if (a % djelitelj == 0) b += djelitelj;
    if (b >= m && b <= n) {
      for (djelitelj = 1; djelitelj < b; djelitelj++)
        if (b % djelitelj == 0) a2 += djelitelj;
      if (a2 == a && a < b) printf("(%d,%d)\n", a, b);
    }
  }

  return 0;
}


P.S. Posto ne dijeljimo nego dijelimo, onda se to zove djelitelj. Wink



_________________
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
anamarie
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 09. 2011. (10:59:19)
Postovi: (87)16
Spol: žensko
Sarma = la pohva - posuda
= 13 - 8

PostPostano: 8:42 uto, 15. 11. 2011    Naslov: Citirajte i odgovorite

moj 4.zadatak
[code:1]
#include <stdio.h>
#include <stdlib.h>

int main() {
int m,n,i,a,suma,j,sumb,b;
scanf("%d %d", &m, &n);
for(i=m;i<n;i++) {
suma=0;
sumb=0;
a=i;
for(j=1;j<a;j++) {if (a%j==0) suma+=j;}
if (suma<=n && suma>m) b=suma;
for (j=1; j<b; j++) {if (b%j==0) sumb+=j;}
if(sumb/a==1 && sumb%a==0) printf("%d i %d su prijateljski brojevi\n", a, b);

}
system("pause");
return 0;
}
[/code:1]

Meni ispisuje:
220 i 284 su prijateljski brojevi
284 i 220 su prijateljski brojevi

Zanima me je li treba ispisati tako ili je dovoljno samo:220 i 284 su prijateljski brojevi?

Edit: skužila sam,ne čitam zadatak do kraja,treba samo jednom ispisati.
moj 4.zadatak
Kod:

#include <stdio.h>
#include <stdlib.h>

int main() {
    int m,n,i,a,suma,j,sumb,b;
    scanf("%d %d", &m, &n);
     for(i=m;i<n;i++) {
              suma=0;
              sumb=0;
              a=i;
              for(j=1;j<a;j++) {if (a%j==0) suma+=j;}
              if (suma<=n && suma>m) b=suma;
              for (j=1; j<b; j++) {if (b%j==0) sumb+=j;}
                if(sumb/a==1 && sumb%a==0) printf("%d i %d su prijateljski brojevi\n", a, b);

               }
system("pause");
return 0;
}


Meni ispisuje:
220 i 284 su prijateljski brojevi
284 i 220 su prijateljski brojevi

Zanima me je li treba ispisati tako ili je dovoljno samo:220 i 284 su prijateljski brojevi?

Edit: skužila sam,ne čitam zadatak do kraja,treba samo jednom ispisati.




Zadnja promjena: anamarie; 9:52 uto, 15. 11. 2011; ukupno mijenjano 2 put/a.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


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

PostPostano: 9:38 uto, 15. 11. 2011    Naslov: Citirajte i odgovorite

Nije li
[tt]if(sumb/a==1 && sumb%a==0)...[/tt]
ekvivalentno s donekle preglednijim
[tt]if (sumb == a)...[/tt]
? :shock:
Nije li
if(sumb/a==1 && sumb%a==0)...
ekvivalentno s donekle preglednijim
if (sumb == a)...
? Shocked



_________________
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
anamarie
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 09. 2011. (10:59:19)
Postovi: (87)16
Spol: žensko
Sarma = la pohva - posuda
= 13 - 8

PostPostano: 9:41 uto, 15. 11. 2011    Naslov: Citirajte i odgovorite

[quote="vsego"]Nije li
[tt]if(sumb/a==1 && sumb%a==0)...[/tt]
ekvivalentno s donekle preglednijim
[tt]if (sumb == a)...[/tt]
? :shock:[/quote]

Da :) hvala!
ja uvijek kompliciram..
vsego (napisa):
Nije li
if(sumb/a==1 && sumb%a==0)...
ekvivalentno s donekle preglednijim
if (sumb == a)...
? Shocked


Da Smile hvala!
ja uvijek kompliciram..


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Zenon
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 09. 2011. (19:14:43)
Postovi: (2B1)16
Sarma: -
Lokacija: [tex]\pm\infty[/tex]

PostPostano: 11:22 uto, 15. 11. 2011    Naslov: Citirajte i odgovorite

[quote="vsego"][tt]break;[/tt] bi bio prirodna stvar, a u ovom slucaju bi i [tt]return 0;[/tt] funkcioniralo.[/quote]

I pomislio sam na break, ali kako ga nikada nisam koristio i ne znam kako točno funkcionira, nisam htio prtljati :D

[quote="vsego"]P.S. Posto ne dije[color=red]lj[/color]imo nego dije[color=green]l[/color]imo, onda se to zove dje[color=green]l[/color]itelj. ;)[/quote]

I napisao sam djelitelj i nešto me pukne i dodam j svima. I bezveze... :D

Hvala!
vsego (napisa):
break; bi bio prirodna stvar, a u ovom slucaju bi i return 0; funkcioniralo.


I pomislio sam na break, ali kako ga nikada nisam koristio i ne znam kako točno funkcionira, nisam htio prtljati Very Happy

vsego (napisa):
P.S. Posto ne dijeljimo nego dijelimo, onda se to zove djelitelj. Wink


I napisao sam djelitelj i nešto me pukne i dodam j svima. I bezveze... Very Happy

Hvala!


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


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

PostPostano: 12:38 uto, 15. 11. 2011    Naslov: Citirajte i odgovorite

[quote="Zenon"][quote="vsego"][tt]break;[/tt] bi bio prirodna stvar, a u ovom slucaju bi i [tt]return 0;[/tt] funkcioniralo.[/quote]
I pomislio sam na break, ali kako ga nikada nisam koristio i ne znam kako točno funkcionira, nisam htio prtljati :D[/quote]

Kao i uvijek, preporucam predavanja. Ne znaci da trebas mijenjati program, no dobro je zaviriti cim skuzis da nesto ne znas.
Zenon (napisa):
vsego (napisa):
break; bi bio prirodna stvar, a u ovom slucaju bi i return 0; funkcioniralo.

I pomislio sam na break, ali kako ga nikada nisam koristio i ne znam kako točno funkcionira, nisam htio prtljati Very Happy


Kao i uvijek, preporucam predavanja. Ne znaci da trebas mijenjati program, no dobro je zaviriti cim skuzis da nesto ne znas.



_________________
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
Phoenix
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 05. 2010. (18:46:07)
Postovi: (164)16
Sarma: -

PostPostano: 13:56 uto, 15. 11. 2011    Naslov: Re: 4. zadatak, praktični kolokvij Citirajte i odgovorite

Zenone, nije li savršen broj (onaj koji je jednak sumi svih svojih djelitelja strogo manjih od njega samoga) sam sebi prijateljski? U zadatku ne piše da prijateljski brojevi moraju nužno biti različiti.
Dakle, na kraju petlje samo provjeravaj je li [tex]a \leq b[/tex] umjesto [tex]a<b[/tex] (jer za svaki broj [tex]a[/tex] ti ovim postupkom pokušavaš generirati točno jedan [tex]b[/tex], pa nema straha da ćeš takve parove možda ispisati dvaput). :)
Zenone, nije li savršen broj (onaj koji je jednak sumi svih svojih djelitelja strogo manjih od njega samoga) sam sebi prijateljski? U zadatku ne piše da prijateljski brojevi moraju nužno biti različiti.
Dakle, na kraju petlje samo provjeravaj je li [tex]a \leq b[/tex] umjesto [tex]a<b[/tex] (jer za svaki broj [tex]a[/tex] ti ovim postupkom pokušavaš generirati točno jedan [tex]b[/tex], pa nema straha da ćeš takve parove možda ispisati dvaput). Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku
spik2nick
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 28. 09. 2011. (12:41:01)
Postovi: (D)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 15:38 uto, 15. 11. 2011    Naslov: Re: 7. zadatak, praktični kolokvij Citirajte i odgovorite

[quote="Zenon"][b]Zadatak[/b]:
Napišite program koji učitava prirodne brojeve n i d, te pomoću zvjezdica “crta” niz “praznih” kvadrata stranice duljine n,
n − d, . . . (svaki u svoj redak).

Znam da ima, pa bih htio da mi netko pokaže jednostavnije rješenje od moga:
[code:1]#include<stdio.h>
int main(void)
{
int n,b,i,pz=1,sred; // i je broj redka, pz za print zvjezdica, sred su redovi zimedu prvog i zadnjeg redka
scanf("%d %d",&n,&b); //ucitava n i b
while (n>0)
{
for (i=1;i<=n;i++) //broj redka
{
if(i==1 || i==n) //prvi i zadnji redak
{
while (pz<=n)
{
printf("*");
pz++;
}
printf("\n");
pz=1;

}
else //redci izmedu
{
for (sred=1;sred<=n;sred++)
{
if (sred==1 || sred==n) printf("*"); //prvi i zadnji znak
else printf(" "); //znakovi izmedu
}
printf("\n");
}
}
n-=b;
}
return 0;
}
[/code:1]

Hvala unaprijed![/quote]

Ja sam ovako... cini mi se da je malo sistematicnije :D


[code:1]#include<stdio.h>
int main(void)
{
int n,b,i,j;
scanf("%d %d",&n,&b); //ucitava n i b
while (n>0)
{
for(i=1;i<=n;i++)
{
if(n!=1) printf("*");//prva zvjezdica prvi redak, ako je n=1, onda se ispisuje samo jedna zvjezdica na kreju for petlje
if(i==1 || i==n)
{
for(j=2;j<n;j++) printf("*");//srednji stupci(prvi i zadnji redak)
}
else
{
for(j=2;j<n;j++) printf(" ");//srednji stupci(srednji retci)
}
printf("*\n");//zadnji red zadnja zvjezdica
}
n-=b;
}
return 0;
}
[/code:1]
Zenon (napisa):
Zadatak:
Napišite program koji učitava prirodne brojeve n i d, te pomoću zvjezdica “crta” niz “praznih” kvadrata stranice duljine n,
n − d, . . . (svaki u svoj redak).

Znam da ima, pa bih htio da mi netko pokaže jednostavnije rješenje od moga:
Kod:
#include<stdio.h>
int main(void)
{
    int n,b,i,pz=1,sred; // i je broj redka, pz za print zvjezdica, sred su redovi zimedu prvog i zadnjeg redka
    scanf("%d %d",&n,&b); //ucitava n i b
    while (n>0)
    {
        for (i=1;i<=n;i++) //broj redka
        {
            if(i==1 || i==n) //prvi i zadnji redak
            {
                while (pz<=n)
                {
                    printf("*");
                    pz++;
                }
                printf("\n");
                pz=1;

            }
            else //redci izmedu
            {
                for (sred=1;sred<=n;sred++)
                {
                    if (sred==1 || sred==n) printf("*"); //prvi i zadnji znak
                    else printf(" "); //znakovi izmedu
                }
                printf("\n");
            }
        }
        n-=b;
    }
    return 0;
}


Hvala unaprijed!


Ja sam ovako... cini mi se da je malo sistematicnije Very Happy


Kod:
#include<stdio.h>
int main(void)
{
    int n,b,i,j;
    scanf("%d %d",&n,&b); //ucitava n i b
    while (n>0)
    {
        for(i=1;i<=n;i++)
        {
            if(n!=1) printf("*");//prva zvjezdica prvi redak, ako je n=1, onda se ispisuje samo jedna zvjezdica na kreju for petlje
            if(i==1 || i==n)
            {
                for(j=2;j<n;j++) printf("*");//srednji stupci(prvi i zadnji redak)
            }
            else
            {
                for(j=2;j<n;j++) printf(" ");//srednji stupci(srednji retci)
            }
            printf("*\n");//zadnji red zadnja zvjezdica
        }
        n-=b;
    }
    return 0;
}



_________________
Pokušaj je prvi korak prema neuspjehu!!
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
vsego
Site Admin
Site Admin


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

PostPostano: 16:04 uto, 15. 11. 2011    Naslov: Citirajte i odgovorite

Ako cemo tako, how about
[code:1] for (i = 0; i < n; ++i) {
for (j = 0; j < n; ++j)
printf("%c", 0 < i && i < n-1 && 0 < j && j < n-1 ? ' ' : '*');
printf("\n");
}[/code:1]
:?:
Ako cemo tako, how about
Kod:
  for (i = 0; i < n; ++i) {
    for (j = 0; j < n; ++j)
      printf("%c", 0 < i && i < n-1 && 0 < j && j < n-1 ? ' ' : '*');
    printf("\n");
  }

Question



_________________
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
R2-D2
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 10. 2011. (20:32:10)
Postovi: (2F)16
Sarma = la pohva - posuda
12 = 12 - 0

PostPostano: 18:23 uto, 15. 11. 2011    Naslov: Citirajte i odgovorite

imam pitanje u vezi 30. zadatka(hrvatska matrica). Piše da trebamo učitati matricu. Što to točno znači? naprosto učitavam binarne brojeve i na pravim mjestima stisnem razmak ili enter? ili učitam zaredom brojeve pa mi program "nacrta" matricu i onda napiše je li matrica hrvatska?
imam pitanje u vezi 30. zadatka(hrvatska matrica). Piše da trebamo učitati matricu. Što to točno znači? naprosto učitavam binarne brojeve i na pravim mjestima stisnem razmak ili enter? ili učitam zaredom brojeve pa mi program "nacrta" matricu i onda napiše je li matrica hrvatska?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
piccola
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 30. 11. 2009. (15:39:50)
Postovi: (D7)16
Sarma = la pohva - posuda
= 10 - 8

PostPostano: 18:55 uto, 15. 11. 2011    Naslov: Citirajte i odgovorite

učitavaš brojeve, pa program crta matricu i provjerava je li hrvatska...
učitavaš brojeve, pa program crta matricu i provjerava je li hrvatska...


[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.
Idite na Prethodno  1, 2, 3, 4, 5, 6 ... 17, 18, 19  Sljedeće
Stranica 5 / 19.

 
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