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 ... 12, 13, 14 ... 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
jema
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 09. 2011. (15:56:35)
Postovi: (52)16
Sarma = la pohva - posuda
= 2 - 2

PostPostano: 19:53 ned, 20. 11. 2011    Naslov: Citirajte i odgovorite

jos nitko nije otvorio 32. zad. kako mi se cini, pa cu ja XD moj hint je ovaj: vrtim for od m do n, stavim x=m, zapisem m u bazi 2.sad za to ispitam je li palindrom i ako je, onda ispisem x...no sad, pitanje je sljedece...npr, opcenito napises program koji pretvara dekatski broj u binarni i sad upises 5, komp ispise 101. No, to nije broj 101, to je niz od 3 znamenke...e sad, jel mogu ja to ikako bez upotrebe niza pretvorit u broj 101...ako to mogu, onda bi znala rijesit zadatak na onaj gore opisan nacin.ako je moj hint skrooz kriv, molim nekog nek mi kaze kako da pravilno razmisljam o ovom zadatku :)) hvala :D
jos nitko nije otvorio 32. zad. kako mi se cini, pa cu ja XD moj hint je ovaj: vrtim for od m do n, stavim x=m, zapisem m u bazi 2.sad za to ispitam je li palindrom i ako je, onda ispisem x...no sad, pitanje je sljedece...npr, opcenito napises program koji pretvara dekatski broj u binarni i sad upises 5, komp ispise 101. No, to nije broj 101, to je niz od 3 znamenke...e sad, jel mogu ja to ikako bez upotrebe niza pretvorit u broj 101...ako to mogu, onda bi znala rijesit zadatak na onaj gore opisan nacin.ako je moj hint skrooz kriv, molim nekog nek mi kaze kako da pravilno razmisljam o ovom zadatku Smile) hvala Very Happy


[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: 20:05 ned, 20. 11. 2011    Naslov: Citirajte i odgovorite

[quote="vsego"]@Zenon:

[code:1]$2 2
1 0
0 0
DA[/code:1]

Na dobrom si putu, ali provjeravas samo [tt]a == b[/tt] kad bi morali biti razliciti. A sto je s provjerom [tt]a != b[/tt] kad bi trebali biti jednaki?[/quote]

Evo ga, sada bi onda trebalo valjati :P Napokon...
[code:1]#include<stdio.h>
int main(void)
{
int n,m,i,j,a,b,ODGOVOR=1;
scanf("%d %d",&m,&n);

for ( i=0; i<m; i++)
{
for ( j=0; j<n; j++ )
{
if ( i==0 && j==0 ) scanf("%d",&a);
else
{
scanf("%d",&b);
if ( (i+j)%2==1 && b==a ) ODGOVOR=0;
if ( (i+j)%2==0 && b!=a ) ODGOVOR=0;
}
}
}
if (ODGOVOR) printf("DA");
else printf("NE");
return 0;
}[/code:1]

I imam još jedno pitanje za onaj zadatak gdje se treba zamijenici cijeli i decimalni dio tipa 12.3456 => 3456.12.
Moj kod:
[code:1]#include<stdio.h>
int main(void)
{
double x;
float dec1;
int cijeli,dec;
scanf("%lf",&x);
cijeli=(int)x;
dec1=(x-cijeli)*10000;
dec=(int)dec1;
while ( dec%10==0 && dec!=0 ) dec/=10;
printf("%d.%d", dec,cijeli);
return 0;
}
[/code:1]

I sad imam jedno pitanje.
Prvo sam radio bez float dec1 pa je jasno kako sam onda računao dec.
Zatim sam uveo prvo double dec1 i i dalje nije radilo, a kada sam stavio float dec1 sve radi.
S obzirom da je double zapravo long float, ne razumijem zašto mi nije radilo za double dec1, a za float dec1 radi?
Da nisam slučajno nabasao na riješenje, ne bih nikada došao razmišljanjem do njega, a sada kada sam i nabasao, ne razumijem :P

Bez dec1: 12.3456 => 3455.12
double dec1: 3455.12
float dec1: 3456.12

Hvala unaprijed.
vsego (napisa):
@Zenon:

Kod:
$2 2
1 0
0 0
DA


Na dobrom si putu, ali provjeravas samo a == b kad bi morali biti razliciti. A sto je s provjerom a != b kad bi trebali biti jednaki?


Evo ga, sada bi onda trebalo valjati Razz Napokon...
Kod:
#include<stdio.h>
int main(void)
{
    int n,m,i,j,a,b,ODGOVOR=1;
    scanf("%d %d",&m,&n);

    for ( i=0; i<m; i++)
    {
        for ( j=0; j<n; j++ )
        {
            if ( i==0 && j==0 ) scanf("%d",&a);
            else
            {
                scanf("%d",&b);
                if ( (i+j)%2==1 && b==a ) ODGOVOR=0;
                if ( (i+j)%2==0 && b!=a ) ODGOVOR=0;
            }
        }
    }
    if (ODGOVOR) printf("DA");
    else printf("NE");
    return 0;
}


I imam još jedno pitanje za onaj zadatak gdje se treba zamijenici cijeli i decimalni dio tipa 12.3456 ⇒ 3456.12.
Moj kod:
Kod:
#include<stdio.h>
int main(void)
{
    double x;
    float dec1;
    int cijeli,dec;
    scanf("%lf",&x);
    cijeli=(int)x;
    dec1=(x-cijeli)*10000;
    dec=(int)dec1;
    while ( dec%10==0 && dec!=0 ) dec/=10;
    printf("%d.%d", dec,cijeli);
    return 0;
}


I sad imam jedno pitanje.
Prvo sam radio bez float dec1 pa je jasno kako sam onda računao dec.
Zatim sam uveo prvo double dec1 i i dalje nije radilo, a kada sam stavio float dec1 sve radi.
S obzirom da je double zapravo long float, ne razumijem zašto mi nije radilo za double dec1, a za float dec1 radi?
Da nisam slučajno nabasao na riješenje, ne bih nikada došao razmišljanjem do njega, a sada kada sam i nabasao, ne razumijem Razz

Bez dec1: 12.3456 ⇒ 3455.12
double dec1: 3455.12
float dec1: 3456.12

Hvala unaprijed.



_________________
It's a wonderful, wonderful life!
[tex]\heartsuit \ \mathcal{PMF-MO} \ \heartsuit[/tex]
[tex]\mathbb Z\Sigma\mathbb N\emptyset\mathbb N[/tex]
[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: 20:05 ned, 20. 11. 2011    Naslov: Citirajte i odgovorite

[quote="jema"]jos nitko nije otvorio 32. zad. kako mi se cini, pa cu ja XD moj hint je ovaj: vrtim for od m do n, stavim x=m, zapisem m u bazi 2.sad za to ispitam je li palindrom i ako je, onda ispisem x...no sad, pitanje je sljedece...npr, opcenito napises program koji pretvara dekatski broj u binarni i sad upises 5, komp ispise 101. No, to nije broj 101, to je niz od 3 znamenke...e sad, jel mogu ja to ikako bez upotrebe niza pretvorit u broj 101...ako to mogu, onda bi znala rijesit zadatak na onaj gore opisan nacin.ako je moj hint skrooz kriv, molim nekog nek mi kaze kako da pravilno razmisljam o ovom zadatku :)) hvala :D[/quote]

evo moj kod,mislim da je točan:
[code:1]#include<stdio.h>

int main() {
int m,n,i,x,y;

scanf("%d %d", &m, &n);
for(i=m;i<=n;i++)
{
x=i;
y=0;
while(x>0)
{ y=y*2+x%2;
x/=2;
}
if(y==i && x==0) printf("%d ",i); }
return 0;

}[/code:1]
jema (napisa):
jos nitko nije otvorio 32. zad. kako mi se cini, pa cu ja XD moj hint je ovaj: vrtim for od m do n, stavim x=m, zapisem m u bazi 2.sad za to ispitam je li palindrom i ako je, onda ispisem x...no sad, pitanje je sljedece...npr, opcenito napises program koji pretvara dekatski broj u binarni i sad upises 5, komp ispise 101. No, to nije broj 101, to je niz od 3 znamenke...e sad, jel mogu ja to ikako bez upotrebe niza pretvorit u broj 101...ako to mogu, onda bi znala rijesit zadatak na onaj gore opisan nacin.ako je moj hint skrooz kriv, molim nekog nek mi kaze kako da pravilno razmisljam o ovom zadatku Smile) hvala Very Happy


evo moj kod,mislim da je točan:
Kod:
#include<stdio.h>

int main() {
int m,n,i,x,y;

scanf("%d %d", &m, &n);
for(i=m;i<=n;i++)
{
    x=i;
    y=0;
while(x>0)
{  y=y*2+x%2;
 x/=2;
 }
 if(y==i && x==0) printf("%d ",i); }
 return 0;

 }


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


Pridružen/a: 14. 09. 2011. (19:17:53)
Postovi: (6C)16
Sarma = la pohva - posuda
= 4 - 3

PostPostano: 20:09 ned, 20. 11. 2011    Naslov: Citirajte i odgovorite

Netko 23.?? pliz
Netko 23.?? pliz


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


Pridružen/a: 01. 10. 2011. (18:19:07)
Postovi: (38)16
Sarma = la pohva - posuda
= 0 - 0
Lokacija: Planet Zemlja

PostPostano: 20:24 ned, 20. 11. 2011    Naslov: Citirajte i odgovorite

[quote="BlameGame"]Netko 23.?? pliz[/quote]
[code:1]
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
int n, relprost, i, E=0, j;
scanf("%d", &n);
for(i=1;i<=n;++i)
{
relprost=1;
for(j=2;j<=i;++j)
{
if(n%j==0 && i%j==0)
{
relprost=0;
break;
}
}
if(relprost)
E++;
}
printf("%d", E);
return 0;
}
[/code:1]
BlameGame (napisa):
Netko 23.?? pliz

Kod:

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

int main (void)
{
    int n, relprost, i, E=0, j;
    scanf("%d", &n);
    for(i=1;i<=n;++i)
    {
        relprost=1;
        for(j=2;j<=i;++j)
        {
            if(n%j==0 && i%j==0)
            {
                relprost=0;
                break;
            }
        }
        if(relprost)
            E++;
    }
    printf("%d", E);
    return 0;
}



_________________
Google is my best friend! Google rulez!

Coffee is my addiction! Iskočiše mi oči od čudidbe!
[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: 20:26 ned, 20. 11. 2011    Naslov: Citirajte i odgovorite

[quote="matkec"][quote="Vishykc"]A jel se može realizirati moja ideja s dosadašnjim poznavanjem obrađenog gradiva?[/quote]

Ja bi u tom slučaju koristio \r umjesto \b.
(naredba za vrećenje na početak reda).
\b nije logično koristiti jer obriše ono što pišeš.

Dakle, prvo bih prebrojao koliko će znamenaka imati zapis broja n u bazi b.
Zatim bih (ako npr ima 5 znamenaka) radio sljedeće:
>ispiši 4 prazna mjesta; (najlakše s malom for petljom)
>printf("%d\r", n%b);
>n/=b;
i sve to ubacio u petlju tako da ispisuješ sve manje i manje praznih mjesta.

Oprez: Kad izračunaš koliko n ima znamenaka u bazi b, n ćeš "uništiti". Spremi ga u neku pomoćnu varijablu da možeš s njime opet baratati.[/quote]

radila sam prema tvojim uputama,ali mi ne ispiše točno(npr.za 38,3 ispiše
1__2)
ne kužim gdje je greška,može pomoć??
moj kod:
[code:1]#include <stdio.h>

int main(void){
int n,b,n1,z,i,br=0;
printf("unesite cijeli broj n u bazi 10 i bazu b<=10:");
scanf("%d %d", &n, &b);
n1=n;
while (n>0){
z=n%b;
br++;
n/=b;
}
printf("%d\n",br);
for(i=1;i<br;i++) printf(" ");
while(n1>0){
printf("%d\r",n1%b);
n1/=b;
}

return 0;
}[/code:1]
matkec (napisa):
Vishykc (napisa):
A jel se može realizirati moja ideja s dosadašnjim poznavanjem obrađenog gradiva?


Ja bi u tom slučaju koristio \r umjesto \b.
(naredba za vrećenje na početak reda).
\b nije logično koristiti jer obriše ono što pišeš.

Dakle, prvo bih prebrojao koliko će znamenaka imati zapis broja n u bazi b.
Zatim bih (ako npr ima 5 znamenaka) radio sljedeće:
>ispiši 4 prazna mjesta; (najlakše s malom for petljom)
>printf("%d\r", n%b);
>n/=b;
i sve to ubacio u petlju tako da ispisuješ sve manje i manje praznih mjesta.

Oprez: Kad izračunaš koliko n ima znamenaka u bazi b, n ćeš "uništiti". Spremi ga u neku pomoćnu varijablu da možeš s njime opet baratati.


radila sam prema tvojim uputama,ali mi ne ispiše točno(npr.za 38,3 ispiše
1__2)
ne kužim gdje je greška,može pomoć??
moj kod:
Kod:
#include <stdio.h>

int main(void){
int n,b,n1,z,i,br=0;
printf("unesite cijeli broj n u bazi 10 i bazu b<=10:");
scanf("%d %d", &n, &b);
n1=n;
while (n>0){
z=n%b;
br++;
n/=b;
}
printf("%d\n",br);
for(i=1;i<br;i++) printf(" ");
while(n1>0){
    printf("%d\r",n1%b);
    n1/=b;
}

return 0;
}


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


Pridružen/a: 14. 09. 2011. (19:17:53)
Postovi: (6C)16
Sarma = la pohva - posuda
= 4 - 3

PostPostano: 20:28 ned, 20. 11. 2011    Naslov: Citirajte i odgovorite

Nedostajao mi je onda zadnji brojac, imala sam 2 for petlje i uvjet, zahvaljujem, ako ti ista znaci evo osjecam se bolje.
Jos jednom hvala. :)
Nedostajao mi je onda zadnji brojac, imala sam 2 for petlje i uvjet, zahvaljujem, ako ti ista znaci evo osjecam se bolje.
Jos jednom hvala. Smile


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


Pridružen/a: 01. 10. 2011. (18:19:07)
Postovi: (38)16
Sarma = la pohva - posuda
= 0 - 0
Lokacija: Planet Zemlja

PostPostano: 20:53 ned, 20. 11. 2011    Naslov: Citirajte i odgovorite

[quote="jema"]jos nitko nije otvorio 32. zad. kako mi se cini, pa cu ja XD moj hint je ovaj: vrtim for od m do n, stavim x=m, zapisem m u bazi 2.sad za to ispitam je li palindrom i ako je, onda ispisem x...no sad, pitanje je sljedece...npr, opcenito napises program koji pretvara dekatski broj u binarni i sad upises 5, komp ispise 101. No, to nije broj 101, to je niz od 3 znamenke...e sad, jel mogu ja to ikako bez upotrebe niza pretvorit u broj 101...ako to mogu, onda bi znala rijesit zadatak na onaj gore opisan nacin.ako je moj hint skrooz kriv, molim nekog nek mi kaze kako da pravilno razmisljam o ovom zadatku :)) hvala :D[/quote]
[code:1]
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
int a,b,c,max=1, palindrom=1, z1, z2;
scanf("%d", &a);
b=a;
c=b/2;
while(c>0)
{
max*=2;
c/=2;
}
while(max>0&&a>0)
{
z1=a%2;
z2=b/max;
if(z1!=z2)
{
palindrom=0;
break;
}
a/=2;
b=b-z2*max;
max/=2;
}
if(palindrom)
printf("Broj je binarni palindrom!");
else
printf("Broj nije binarni palindrom!");
return 0;
}
[/code:1]
Ovo to je moje rj. Testirala sam za 5(zadatak) i 73(Sheldon Cooper). Oni su binarni palindromi, a za one koji nisu palindromi mi isto radi.
jema (napisa):
jos nitko nije otvorio 32. zad. kako mi se cini, pa cu ja XD moj hint je ovaj: vrtim for od m do n, stavim x=m, zapisem m u bazi 2.sad za to ispitam je li palindrom i ako je, onda ispisem x...no sad, pitanje je sljedece...npr, opcenito napises program koji pretvara dekatski broj u binarni i sad upises 5, komp ispise 101. No, to nije broj 101, to je niz od 3 znamenke...e sad, jel mogu ja to ikako bez upotrebe niza pretvorit u broj 101...ako to mogu, onda bi znala rijesit zadatak na onaj gore opisan nacin.ako je moj hint skrooz kriv, molim nekog nek mi kaze kako da pravilno razmisljam o ovom zadatku Smile) hvala Very Happy

Kod:

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

int main (void)
{
    int a,b,c,max=1, palindrom=1, z1, z2;
    scanf("%d", &a);
    b=a;
    c=b/2;
    while(c>0)
    {
        max*=2;
        c/=2;
    }
    while(max>0&&a>0)
    {
        z1=a%2;
        z2=b/max;
        if(z1!=z2)
        {
            palindrom=0;
            break;
        }
        a/=2;
        b=b-z2*max;
        max/=2;
    }
    if(palindrom)
        printf("Broj je binarni palindrom!");
    else
        printf("Broj nije binarni palindrom!");
    return 0;
}

Ovo to je moje rj. Testirala sam za 5(zadatak) i 73(Sheldon Cooper). Oni su binarni palindromi, a za one koji nisu palindromi mi isto radi.



_________________
Google is my best friend! Google rulez!

Coffee is my addiction! Iskočiše mi oči od čudidbe!
[Vrh]
Korisnički profil Pošaljite privatnu poruku
BlameGame
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 14. 09. 2011. (19:17:53)
Postovi: (6C)16
Sarma = la pohva - posuda
= 4 - 3

PostPostano: 22:22 ned, 20. 11. 2011    Naslov: Citirajte i odgovorite

Zadatak 8.5.3. iz skripte:
Za zadani prirodan broj n ispisite sve njegove proste djelitelje tocno jednom.

dio rjesenja:
while(!(n % x) n /= x; (sto bih ja shvatila- dok nije istina da je n djeljiv sa x, dijeli ga s x????????)
Zadatak 8.5.3. iz skripte:
Za zadani prirodan broj n ispisite sve njegove proste djelitelje tocno jednom.

dio rjesenja:
while(!(n % x) n /= x; (sto bih ja shvatila- dok nije istina da je n djeljiv sa x, dijeli ga s x????????)


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


Pridružen/a: 12. 10. 2011. (15:03:41)
Postovi: (10D)16
Spol: muško
Sarma = la pohva - posuda
68 = 72 - 4

PostPostano: 22:29 ned, 20. 11. 2011    Naslov: Citirajte i odgovorite

[quote="Zenon"]
I imam još jedno pitanje za onaj zadatak gdje se treba zamijenici cijeli i decimalni dio tipa 12.3456 => 3456.12.
Moj kod:
[code:1]#include<stdio.h>
int main(void)
{
double x;
float dec1;
int cijeli,dec;
scanf("%lf",&x);
cijeli=(int)x;
dec1=(x-cijeli)*10000;
dec=(int)dec1;
while ( dec%10==0 && dec!=0 ) dec/=10;
printf("%d.%d", dec,cijeli);
return 0;
}
[/code:1]

I sad imam jedno pitanje.
Prvo sam radio bez float dec1 pa je jasno kako sam onda računao dec.
Zatim sam uveo prvo double dec1 i i dalje nije radilo, a kada sam stavio float dec1 sve radi.
S obzirom da je double zapravo long float, ne razumijem zašto mi nije radilo za double dec1, a za float dec1 radi?
Da nisam slučajno nabasao na riješenje, ne bih nikada došao razmišljanjem do njega, a sada kada sam i nabasao, ne razumijem :P

Bez dec1: 12.3456 => 3455.12
double dec1: 3455.12
float dec1: 3456.12

Hvala unaprijed.[/quote]

Mislim da si samo imao srece sa izborom tog broja pa ti radi za float a ne za double.

Cini mi se da se tu dogodilo ovo:

Najblizi predstavljivi broj tvojem broju u double-u je < 12.3456, tj 12.34559999...
dok je najblizi predstavljivi broj u float-u > 12.3456 tj. 12.3456000000 i nesto sitno.

Ako izaberes neki drugi broj mozda ce ti raditi za double a ne za float, a mozda ti nece raditi ni za jedno ni za drugo.

EDIT: Radi ti ovo :D Toliko si izmanipulirao te brojeve da ne postoji niti jedan realan broj < 10000 i s najvise 4 decimale za koji ovo ne bi radilo (ili ja imam bug u kodu)
Zenon (napisa):

I imam još jedno pitanje za onaj zadatak gdje se treba zamijenici cijeli i decimalni dio tipa 12.3456 ⇒ 3456.12.
Moj kod:
Kod:
#include<stdio.h>
int main(void)
{
    double x;
    float dec1;
    int cijeli,dec;
    scanf("%lf",&x);
    cijeli=(int)x;
    dec1=(x-cijeli)*10000;
    dec=(int)dec1;
    while ( dec%10==0 && dec!=0 ) dec/=10;
    printf("%d.%d", dec,cijeli);
    return 0;
}


I sad imam jedno pitanje.
Prvo sam radio bez float dec1 pa je jasno kako sam onda računao dec.
Zatim sam uveo prvo double dec1 i i dalje nije radilo, a kada sam stavio float dec1 sve radi.
S obzirom da je double zapravo long float, ne razumijem zašto mi nije radilo za double dec1, a za float dec1 radi?
Da nisam slučajno nabasao na riješenje, ne bih nikada došao razmišljanjem do njega, a sada kada sam i nabasao, ne razumijem Razz

Bez dec1: 12.3456 ⇒ 3455.12
double dec1: 3455.12
float dec1: 3456.12

Hvala unaprijed.


Mislim da si samo imao srece sa izborom tog broja pa ti radi za float a ne za double.

Cini mi se da se tu dogodilo ovo:

Najblizi predstavljivi broj tvojem broju u double-u je < 12.3456, tj 12.34559999...
dok je najblizi predstavljivi broj u float-u > 12.3456 tj. 12.3456000000 i nesto sitno.

Ako izaberes neki drugi broj mozda ce ti raditi za double a ne za float, a mozda ti nece raditi ni za jedno ni za drugo.

EDIT: Radi ti ovo Very Happy Toliko si izmanipulirao te brojeve da ne postoji niti jedan realan broj < 10000 i s najvise 4 decimale za koji ovo ne bi radilo (ili ja imam bug u kodu)




Zadnja promjena: gflegar; 23:01 ned, 20. 11. 2011; ukupno mijenjano 1 put.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
vsego
Site Admin
Site Admin


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

PostPostano: 22:34 ned, 20. 11. 2011    Naslov: Citirajte i odgovorite

[quote="BlameGame"]Zadatak 8.5.3. iz skripte:
Za zadani prirodan broj n ispisite sve njegove proste djelitelje tocno jednom.
dio rjesenja:
while(!(n % x) n /= x; (sto bih ja shvatila- dok nije istina da je n djeljiv sa x, dijeli ga s x????????)[/quote]

Podsjecam: [tt]while (x)[/tt] [tex]\Leftrightarrow[/tex] [tt]while (x != 0)[/tt]

Ako je [tt]n%x == 0[/tt], onda je [tt]!(n%x) == 1[/tt];
Ako je [tt]n%x != 0[/tt], onda je [tt]!(n%x) == 0[/tt].

Dakle, uvjet si shvatila tocno obrnuto, sto je i objasnjeno u napomeni 8.4.2.
BlameGame (napisa):
Zadatak 8.5.3. iz skripte:
Za zadani prirodan broj n ispisite sve njegove proste djelitelje tocno jednom.
dio rjesenja:
while(!(n % x) n /= x; (sto bih ja shvatila- dok nije istina da je n djeljiv sa x, dijeli ga s x????????)


Podsjecam: while (x) [tex]\Leftrightarrow[/tex] while (x != 0)

Ako je n%x == 0, onda je !(n%x) == 1;
Ako je n%x != 0, onda je !(n%x) == 0.

Dakle, uvjet si shvatila tocno obrnuto, sto je i objasnjeno u napomeni 8.4.2.



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


Pridružen/a: 15. 10. 2011. (18:45:11)
Postovi: (4F)16
Spol: zombi
Sarma = la pohva - posuda
= 5 - 3

PostPostano: 22:44 ned, 20. 11. 2011    Naslov: Citirajte i odgovorite

Bok, moze li netko molim vas provjeriti zasto moj kod za rjesenje 4. zadatka iz popisa ne izbacuje nista kao rjesenje:


[code:1]#include<stdio.h>
int m,n,k,j,i,zb,zb1,broj;
int main (void)
{
scanf("%d%d", &m, &n);
if (m<n)
{
k=m;
for (m;m<=n;m++)
zb=0;
for (i=1;i<=m/2;i++);
{
if (m%i==0) zb=zb+i;
}
broj==k;
do
{
zb1=0;
for (j=1;j<=broj/2;j++)
{
if (broj%j==0) zb1=zb1+j;
}
if (m==zb1&&broj==zb) printf("%d%d", m, broj);
broj++;
}
while (broj<=m);
}
else printf("----");
return 0;
}[/code:1]
Hvala unaprijed :)
Bok, moze li netko molim vas provjeriti zasto moj kod za rjesenje 4. zadatka iz popisa ne izbacuje nista kao rjesenje:


Kod:
#include<stdio.h>
int m,n,k,j,i,zb,zb1,broj;
int main (void)
{
    scanf("%d%d", &m, &n);
    if (m<n)
    {
        k=m;
        for (m;m<=n;m++)
            zb=0;
            for (i=1;i<=m/2;i++);
            {
                if (m%i==0) zb=zb+i;
            }
            broj==k;
            do
            {
                zb1=0;
                for (j=1;j<=broj/2;j++)
                {
                    if (broj%j==0) zb1=zb1+j;
                }
                if (m==zb1&&broj==zb) printf("%d%d", m, broj);
                broj++;
            }
            while (broj<=m);
    }
    else printf("----");
    return 0;
}

Hvala unaprijed Smile


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


Pridružen/a: 12. 10. 2011. (15:03:41)
Postovi: (10D)16
Spol: muško
Sarma = la pohva - posuda
68 = 72 - 4

PostPostano: 23:21 ned, 20. 11. 2011    Naslov: Citirajte i odgovorite

[code:1]
broj==k;
[/code:1]

Tu ti je problem :D
Kod:

broj==k;


Tu ti je problem Very Happy


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
Silenoz
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 10. 2011. (18:45:11)
Postovi: (4F)16
Spol: zombi
Sarma = la pohva - posuda
= 5 - 3

PostPostano: 23:28 ned, 20. 11. 2011    Naslov: Citirajte i odgovorite

Hvala, ali mi i dalje nece izbaciti rezultat. Zavrsi program ali nista ne ispise :?:
Hvala, ali mi i dalje nece izbaciti rezultat. Zavrsi program ali nista ne ispise Question


[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: 23:32 ned, 20. 11. 2011    Naslov: Citirajte i odgovorite

[quote="gflegar"]
EDIT: Radi ti ovo :D Toliko si izmanipulirao te brojeve da ne postoji niti jedan realan broj < 10000 i s najvise 4 decimale za koji ovo ne bi radilo (ili ja imam bug u kodu)[/quote]

Ma kaki bug kolega, ja rasturio xD
gflegar (napisa):

EDIT: Radi ti ovo Very Happy Toliko si izmanipulirao te brojeve da ne postoji niti jedan realan broj < 10000 i s najvise 4 decimale za koji ovo ne bi radilo (ili ja imam bug u kodu)


Ma kaki bug kolega, ja rasturio xD



_________________
It's a wonderful, wonderful life!
[tex]\heartsuit \ \mathcal{PMF-MO} \ \heartsuit[/tex]
[tex]\mathbb Z\Sigma\mathbb N\emptyset\mathbb N[/tex]
[Vrh]
Korisnički profil Pošaljite privatnu poruku
boksi
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 02. 09. 2011. (16:37:55)
Postovi: (44)16
Spol: žensko
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 11:05 pon, 21. 11. 2011    Naslov: Citirajte i odgovorite

za parne radi normalno, neparni su problem; a ne znam kako da poopravim to. pomoooć :) pokušala sam nešto kraće, ali nije išlo.
[code:1]
/*Napiˇsite program koji uˇcitava prirodni broj n, te pomo´cu zvjezdica i razmaka “crta” ˇsahovsku ploˇcu dimenzije n*/


#include<stdio.h>
int main (void)

{
int n, z, k;
printf("Ucitajte prirodan broj: ");
scanf("%d", &n);
z=n/2;
if (n%2)k=n/2 +1 ;
else k=n/2;
while(k>0) {
if(n%2==0){
while(z>1) { printf("* "); z--; }
printf("*\n");
z=n/2;
while(z>1) {printf(" *"); z--; }
printf(" *\n");
z=n/2;
}
else {
while(z>1) { printf("* "); z--; }
printf("* *\n");
z=n/2 ;
while(z>1) {printf(" *"); z--; }
printf(" *\n");
z=n/2;
}
k--;
}


return 0;
}


[/code:1]
za parne radi normalno, neparni su problem; a ne znam kako da poopravim to. pomoooć Smile pokušala sam nešto kraće, ali nije išlo.
Kod:

/*Napiˇsite program koji uˇcitava prirodni broj n, te pomo´cu zvjezdica i razmaka “crta” ˇsahovsku ploˇcu dimenzije n*/


#include<stdio.h>
int main (void)

{
    int n, z, k;
    printf("Ucitajte prirodan broj: ");
    scanf("%d", &n);
    z=n/2;
    if (n%2)k=n/2 +1 ;
    else k=n/2;
        while(k>0) {
if(n%2==0){
         while(z>1)  { printf("* "); z--; }
                     printf("*\n");
                     z=n/2;
        while(z>1) {printf(" *"); z--; }
                     printf(" *\n");
                     z=n/2;
            }
else {
        while(z>1)  { printf("* "); z--; }
                     printf("* *\n");
                     z=n/2 ;
        while(z>1) {printf(" *"); z--; }
                     printf(" *\n");
                     z=n/2;
        }
        k--;
                    }


    return 0;
}




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


Pridružen/a: 18. 10. 2009. (17:38:41)
Postovi: (133)16
Sarma = la pohva - posuda
= 15 - 6

PostPostano: 11:56 pon, 21. 11. 2011    Naslov: Citirajte i odgovorite

možda da probaš nešto ovako:

[code:1]#include<stdio.h>
int main(void)
{
int n,i,j;
scanf("%d", &n);
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
if((i%2)==(j%2)) printf("*");
else printf(" ");
}
printf("\n");
}
return 0;
}[/code:1]
možda da probaš nešto ovako:

Kod:
#include<stdio.h>
int main(void)
{
    int n,i,j;
    scanf("%d", &n);
    for(i=1; i<=n; i++)
    {
        for(j=1; j<=n; j++)
        {
            if((i%2)==(j%2)) printf("*");
            else printf(" ");
        }
        printf("\n");
    }
    return 0;
}


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


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

PostPostano: 12:12 pon, 21. 11. 2011    Naslov: Citirajte i odgovorite

@lost_soul: Zamijeni
[tt]for(i=1; i<=n; i++)[/tt]
s
[tt]for(i = 0; i < n; i++)[/tt]
(isto i za [tt]j[/tt]).

Ovdje je svejedno, ali patit cete se s nizovima ako si sada stvorite "krivu" naviku.

P.S. Ako nekog zanima, kraca varijanta ispisa, bez [tt]if[/tt], s uvjetnim operatorom:
[tt]printf("%c", (i+j) % 2 ? ' ' : '*');[/tt] ;)
@lost_soul: Zamijeni
for(i=1; i⇐n; i++)
s
for(i = 0; i < n; i++)
(isto i za j).

Ovdje je svejedno, ali patit cete se s nizovima ako si sada stvorite "krivu" naviku.

P.S. Ako nekog zanima, kraca varijanta ispisa, bez if, s uvjetnim operatorom:
printf("%c", (i+j) % 2 ? ' ' : '*'); 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
matematičarka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 01. 10. 2011. (18:19:07)
Postovi: (38)16
Sarma = la pohva - posuda
= 0 - 0
Lokacija: Planet Zemlja

PostPostano: 12:35 pon, 21. 11. 2011    Naslov: Citirajte i odgovorite

Da li je ovo prihvatljiv (prolazim na kolokviju) način rješavanja zadatka 41?
[code:1]
#include <stdio.h>
#include <stdio.h>

int main (void)
{
int cijeli, cijeli1=0, ncijeli, ncijeli1=0;
double x, decimalni, ndecimalni=0, nx;
scanf("%lg", &x);
cijeli=(int)(x);
decimalni = x-cijeli;

while(cijeli>0) //obrce cijeli dio od x
{
cijeli1=cijeli1*10+cijeli%10;
cijeli/=10;
}
ncijeli=(int)(decimalni*10000);
if(ncijeli>=1000)
{
while(ncijeli%10==0)//mice nule viska
ncijeli/=10;
while(ncijeli>0) //obrce bivse decimale
{
ncijeli1=ncijeli1*10+ncijeli%10;
ncijeli/=10;
}
}
else if (ncijeli<1000 && ncijeli>=100)
{
while(ncijeli%10==0)//mice nule viska
ncijeli/=10;
while(ncijeli>0) //obrce bivse decimale
{
ncijeli1=ncijeli1*10+ncijeli%10;
ncijeli/=10;
}
ncijeli1*=10;
}
else if(ncijeli<100 && ncijeli>=10)
{
while(ncijeli%10==0)//mice nule viska
ncijeli/=10;
while(ncijeli>0) //obrce bivse decimale
{
ncijeli1=ncijeli1*10+ncijeli%10;
ncijeli/=10;
}
ncijeli1*=100;
}
else
{
while(ncijeli%10==0)//mice nule viska
ncijeli/=10;
while(ncijeli>0) //obrce bivse decimale
{
ncijeli1=ncijeli1*10+ncijeli%10;
ncijeli/=10;
}
ncijeli1*=1000;
}
while(cijeli1>0)//pretvara obrnuto cijelo u decimalno
{
ndecimalni=ndecimalni*0.1+(double)(cijeli1%10)*0.1;
cijeli1/=10;
}
nx=ncijeli1+ndecimalni;
printf("%g", nx);
return 0;
}
[/code:1]
Odnosno zadatka 17?
[code:1]
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
int cijeli, ncijeli;
double x, decimalni, ndecimalni=0, nx;
scanf("%lg", &x);
cijeli=(int)(x);
decimalni= x-cijeli;
ncijeli=(int)(decimalni*10000);
while(ncijeli%10==0)
ncijeli/=10;
while(cijeli>0)
{
ndecimalni=ndecimalni*0.1 + ((cijeli)%10)*0.1;
cijeli/=10;
}
nx=ncijeli+ndecimalni;
printf("%g", nx);
return 0;
}

[/code:1]
Da li je ovo prihvatljiv (prolazim na kolokviju) način rješavanja zadatka 41?
Kod:

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

int main (void)
{
    int cijeli, cijeli1=0, ncijeli, ncijeli1=0;
    double x, decimalni, ndecimalni=0, nx;
    scanf("%lg", &x);
    cijeli=(int)(x);
    decimalni = x-cijeli;

    while(cijeli>0) //obrce cijeli dio od x
    {
        cijeli1=cijeli1*10+cijeli%10;
        cijeli/=10;
    }
    ncijeli=(int)(decimalni*10000);
    if(ncijeli>=1000)
    {
        while(ncijeli%10==0)//mice nule viska
            ncijeli/=10;
        while(ncijeli>0) //obrce bivse decimale
        {
            ncijeli1=ncijeli1*10+ncijeli%10;
            ncijeli/=10;
        }
    }
    else if (ncijeli<1000 && ncijeli>=100)
    {
        while(ncijeli%10==0)//mice nule viska
            ncijeli/=10;
        while(ncijeli>0) //obrce bivse decimale
        {
            ncijeli1=ncijeli1*10+ncijeli%10;
            ncijeli/=10;
        }
        ncijeli1*=10;
    }
    else if(ncijeli<100 && ncijeli>=10)
    {
        while(ncijeli%10==0)//mice nule viska
            ncijeli/=10;
        while(ncijeli>0) //obrce bivse decimale
        {
            ncijeli1=ncijeli1*10+ncijeli%10;
            ncijeli/=10;
        }
        ncijeli1*=100;
    }
    else
    {
        while(ncijeli%10==0)//mice nule viska
            ncijeli/=10;
        while(ncijeli>0) //obrce bivse decimale
        {
            ncijeli1=ncijeli1*10+ncijeli%10;
            ncijeli/=10;
        }
        ncijeli1*=1000;
    }
    while(cijeli1>0)//pretvara obrnuto cijelo u decimalno
    {
        ndecimalni=ndecimalni*0.1+(double)(cijeli1%10)*0.1;
        cijeli1/=10;
    }
    nx=ncijeli1+ndecimalni;
    printf("%g", nx);
    return 0;
}

Odnosno zadatka 17?
Kod:

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

int main (void)
{
    int cijeli, ncijeli;
    double x, decimalni, ndecimalni=0, nx;
    scanf("%lg", &x);
    cijeli=(int)(x);
    decimalni= x-cijeli;
    ncijeli=(int)(decimalni*10000);
    while(ncijeli%10==0)
        ncijeli/=10;
    while(cijeli>0)
    {
        ndecimalni=ndecimalni*0.1 + ((cijeli)%10)*0.1;
        cijeli/=10;
    }
    nx=ncijeli+ndecimalni;
    printf("%g", nx);
    return 0;
}




_________________
Google is my best friend! Google rulez!

Coffee is my addiction! Iskočiše mi oči od čudidbe!
[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


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

PostPostano: 12:58 pon, 21. 11. 2011    Naslov: Citirajte i odgovorite

Ako ucitava, racuna i ispisuje sto se trazi, prihvatljivo je. Ova dva mi se cine takvi.
Ako ucitava, racuna i ispisuje sto se trazi, prihvatljivo je. Ova dva mi se cine takvi.



_________________
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.
Idite na Prethodno  1, 2, 3 ... 12, 13, 14 ... 17, 18, 19  Sljedeće
Stranica 13 / 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